Wordpress短代码功能

时间:2017-02-21 17:41:52

标签: php wordpress function custom-fields

任何人都可以解释为什么这只返回第一个结果。我想返回与当前网址具有相同自定义字段值的所有结果。它将返回1.它是否需要每个或什么?谢谢!!

<?php add_shortcode( 'feed', 'display_custom_post_type' );

    function display_custom_post_type(){

    $url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];

    $args = array( 
       'post_type'       => 'custom_post_type',
       'posts_per_page'  => -1  
    );

    $new_query = new WP_Query($args);

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

    return get_title();

    endwhile;

};?>

2 个答案:

答案 0 :(得分:1)

你&#34;返回&#34;来自while循环中第一个元素之后的函数。

返回所有帖子的示例:

$args = array(
    'post_type' => 'custom_post_type',
    'posts_per_page'  => -1  

);
$results = get_posts($args);
return $results;

答案 1 :(得分:1)

因为你已经在循环中添加了返回,所以它只会显示最后一个。您必须将返回放在循环外部才能显示所有内容。

只是一个小例子,看看它有效,改变这一点:

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

return get_title();

endwhile;

到此:

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

$all_titles .= get_title();

endwhile;

return $all_titles;

它很可能会在一行中显示所有标题,所以只需格式化即可!