web-dev-qa-db-ja.com

Functions.phpまたはプラグインで関数を定義し、テーマループで呼び出す

私はfunctions.phpまたはプラグインで関数を定義し、テーマのループの内側と外側でそれを呼び出せるようにする必要があります。

例これらすべてのページのループ内に$product_price = get_post_meta(get_the_ID(), 'product-price', true);が定義されています。

home.php、index.php、archive.php、single.php、その他のカスタムページの中...

なので、何かを変更する必要があるたびに、これらのページのひとつひとつに移動して、変更を加える必要があります。だから、すべてのページで$product_price = get_post_meta(get_the_ID(), 'product-price', true);を持つ代わりにproduct_price();を呼び出すだけの関数を作成したいです。

私は(プラグインとfunctions.phpの両方で)このようなことを試しましたが、うまくいきません

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

これを使ってみてください(functions.php):

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

そしてあなたのテンプレートの中でfuncを呼び出します(ループなどで):

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