Определение функции в 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;
}
Попробуйте использовать этот код (functions.php):
function product_title($id) {
$custom='CustomField'; // Ваше произвольное поле здесь
return get_post_meta($id, $custom, true);
}
и вызовите функцию в вашем шаблоне (в цикле и т.д...):
<?php $p_title=product_title(get_the_ID()); ?>
<h3>Продукт: <?php echo ($p_title); ?> </h3>
