自定义帖子与产品

时间:2017-09-25 10:09:36

标签: php wordpress custom-wordpress-pages

我正在尝试获取自定义帖子的所有详细信息,并在我的单个产品页面上打印所选数据。

所以我们可以说自定义帖子名为游戏,而产品页面就是您选择要购买的游戏的那一个。

我正在使用:

$args = array(
    'post_type' => 'games',
    )
);
$review_details = new WP_Query($args);
这是获取产品实例的大部分信息,虽然我选择了帖子类型作为游戏。因为在帖子中我有比赛的年龄和评级。

我如何能够将游戏发布中已有的所有详细信息都收录到我正在销售的游戏的单品页面中?

$args = array(
'post_type' => 'reviews',
'meta_query' => array(
    array(
        'key' => 'games_books', // name of custom field
        'value' => '"' . $game_id . '"', // matches exaclty "123", not just 123. This prevents a match for "1234"
        'compare' => 'LIKE'
    )
));
$review_details = new WP_Query($args);
print_r($review_details);

当我使用print_r($ review_details)时;评论的所有参数都是空的,但是当我从帖子中做同样的事情时,我可以得到评论。 我需要在单品页面上打印这些数据

2 个答案:

答案 0 :(得分:0)

听起来你有自定义帖子类型'游戏'的额外元信息。输出这些额外信息可以使用以下任一方式完成:

get_post_meta($post_id, 'key');

有关详情,请参阅此处https://developer.wordpress.org/reference/functions/get_post_meta/

或者,如果您使用的是常见的自定义字段插件,例如ACF,则需要使用get_field()

get_field('key', $post_id);

有关详细信息,请参阅此处https://www.advancedcustomfields.com/resources/get_field/

答案 1 :(得分:0)

要打印自定义帖子的数据,您可以将WP_Query与While Option一起使用。

例如:

<?php 
    $args = array( 'post_type' => 'games');
    $the_query = new WP_Query( $args );
?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

<!-- Loop Start -->
<?php the_title(); ?>
<!-- Loop End -->

<?php else: endif; ?>

如果要打印自定义区域

<?php echo get_post_meta($post->ID, 'key', true); ?>