我需要将一些值传递到wp\\u查询的父属性中。然而,我使用的是一个快捷码,因此,如果我传递一个值,效果会很好,但如果我需要发送多个值,它就会中断,如果有人能帮我,这将是一个很棒的节日礼物。
默认情况下,它使用当前的post ID$thePostID,但是如果需要检索父项,则使用parent属性。看看我的代码。
function andrew_child_loop_shortcode_new ( $atts ) {
global $post; $thePostID = $post->ID;
extract ( shortcode_atts (array (
\'posts\' => 20,
\'parent\' => $thePostID,
\'exclude\' => array(0)
), $atts ) );
///////$atts[ \'parent\' ] = explode( "," $atts[ \'parent\' ] );
///////extract( $atts );
$output = \'<div class="clear"></div>\';
$args = array(
\'orderby\' => \'menu_order\',
\'order\' => \'ASC\',
\'post_parent\' => $parent,
\'post_type\' => \'page\',
\'post__not_in\' => array($exclude),
\'posts_per_page\' => $posts
);
wp_reset_query();
$i=0;
$andrew3_query = new WP_Query( $args );
$output .= \'<div id="multiple-childs" class="grid_8">\';
while ( $andrew3_query->have_posts()) { $i++ ; $andrew3_query->the_post();
$output .= \'<div id="child-results-multiple" class="grid_2 omega result-\'.$i.\'">\';
if(has_post_thumbnail()):;
$output .= \'<a href="\'.
get_permalink().
\'" a>\'.
get_the_post_thumbnail(get_the_ID(), \'blog-post-carousel\').
\'</a>\';
else :;
$output .= \'<a href="\'.
get_permalink().
\'" a>\'.
\'<img src="\'.
get_bloginfo( "template_url" ).
\'/images/theme/no-image.png" width=115 height=115> </a>\';
endif;
$output .=
\'<h4>\'.
get_the_title().
\'</h4>\'.
\'<p>\'.
get_the_excerpt().
\'</p>\'.
\'</div>\';
}
wp_reset_query();
$output .= \'</div>\';
return $output;
}
add_shortcode(\'display_childs_multiple\', \'andrew_child_loop_shortcode_new\');
我用这种方式呼叫家长[display\\u childs\\u multiple parent=“10,15,20”]
最合适的回答,由SO网友:EAMann 整理而成
如果在调用短代码时传入以逗号分隔的父ID列表,则很容易将其转换为数组。
例如,使用[scname parent="5,10,15"]
:
function andrew_child_loop_shortcode_new ( $atts ) {
global $post; $thePostID = $post->ID;
$atts = shortcode_atts( array(
\'posts\' => 20,
\'parent\' => $thePostID
), $atts );
// Turn the \'parent\' parameter into an array
$atts[ \'parent\' ] = explode( ",", $atts[ \'parent\' ] );
extract( $atts );
// ... now do whatever you were going to do ...
}
现在您的
$parent
变量是传入的post ID的数组。如果只传入了一个元素,那么它就是具有单个元素的数组。如果传入多个ID,那么将有一个具有多个值的数组。
如何构造查询并从这里继续完全取决于您。。。