web-dev-qa-db-fra.com

Définir une fonction dans les fonctions.php ou appeler une boucle de thème

Je dois définir une fonction dans functions.php ou un plugin et pouvoir l'appeler dans la boucle et l'extérieur du thème.

Exemple; J'ai un $product_price = get_post_meta(get_the_ID(), 'product-price', true); défini dans la boucle de toutes ces pages;

dans home.php, index.php, archive.php, single.php et autres pages personnalisées ...

donc chaque fois que j'ai besoin de changer quelque chose, je dois aller à chacune de ces pages et faire le changement ... Alors maintenant, je veux créer une fonction où, au lieu d'avoir $product_price = get_post_meta(get_the_ID(), 'product-price', true); dans chaque page, j'appelle seulement product_price(); et c'est tout.

J'ai essayé quelque chose comme ça (dans plugin & functions.php), mais ça ne marche pas

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;
}
3
Raphaello

Essayez d'utiliser ceci (functions.php):

function product_title($id) {
  $custom='CustomField'; // Your custom field here
  return get_post_meta($id, $custom, true);
}

et appelez func dans votre template (en boucle et etc ...):

<?php $p_title=product_title(get_the_ID()); ?>
<h3>Product : <?php echo ($P_title); ?> </h3>
1
Amin kh0d3muni