WordPress简码功能
Wordpress shortcode function
谁能解释为什么这只是 return 第一个结果。我想 return 所有与当前 url 具有相同自定义字段值的结果。它只会 return 1. 它是否需要一个 for each 或什么?谢谢!!
<?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;
};?>
您 "return" 来自 while 循环内第一个元素之后的函数。
返回所有帖子的示例:
$args = array(
'post_type' => 'custom_post_type',
'posts_per_page' => -1
);
$results = get_posts($args);
return $results;
因为你在循环中添加了return所以它只会显示最后一个。您必须将 return 放在循环之外才能显示全部。
只是一个小例子,看看它是否有效,更改此位:
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;
它很可能会在一行中显示所有标题,因此请按照您的意愿设置格式!
谁能解释为什么这只是 return 第一个结果。我想 return 所有与当前 url 具有相同自定义字段值的结果。它只会 return 1. 它是否需要一个 for each 或什么?谢谢!!
<?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;
};?>
您 "return" 来自 while 循环内第一个元素之后的函数。
返回所有帖子的示例:
$args = array(
'post_type' => 'custom_post_type',
'posts_per_page' => -1
);
$results = get_posts($args);
return $results;
因为你在循环中添加了return所以它只会显示最后一个。您必须将 return 放在循环之外才能显示全部。
只是一个小例子,看看它是否有效,更改此位:
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;
它很可能会在一行中显示所有标题,因此请按照您的意愿设置格式!