Definire una Funzione in functions.php o plugin e richiamarla nel loop del tema

29 ago 2015, 15:16:06
Visualizzazioni: 23.6K
Voti: 4

Ho bisogno di definire una funzione in functions.php o in un plugin e poterla richiamare sia all'interno che all'esterno del loop del tema.

Esempio; Ho un $product_price = get_post_meta(get_the_ID(), 'product-price', true); definito all'interno del loop di tutte queste pagine;

all'interno di home.php, index.php, archive.php, single.php, e altre pagine personalizzate...

quindi ogni volta che devo cambiare qualcosa devo andare in ognuna di queste pagine e fare la modifica... Ora voglio creare una funzione dove invece di avere $product_price = get_post_meta(get_the_ID(), 'product-price', true); in ogni pagina, chiamo solo product_price(); e basta.

Ho provato qualcosa del genere (sia nel plugin che in functions.php), ma non funziona

function product_title() {
    global $post;

    $args = array( "posts_per_page" => "-1" );
    $get_title = new WP_Query( $args );

    while ( $get_title->have_posts() ) : $get_title->the_post();

    return get_post_meta(get_the_ID(), 'product-price', true);

    wp_reset_postdata();

    endwhile;
}
0
Tutte le risposte alla domanda 1
0

Prova a utilizzare questo (functions.php):

function product_title($id) {
  $custom='CustomField'; // Il tuo campo personalizzato qui
  return get_post_meta($id, $custom, true);
}

e chiama la funzione nel tuo template (nel loop e così via...):

<?php $p_title=product_title(get_the_ID()); ?>
<h3>Prodotto: <?php echo ($p_title); ?> </h3>
29 ago 2015 15:58:27