我想通过使用帖子id在页面中显示自定义帖子,帖子id取自定制器文本输入。我的代码在这里
<?php
$query = new WP_Query( array( \'post_type\' => \'post\', \'post__in\' => array( get_theme_mod(\'fp_post\') ) ) );
while ($query -> have_posts()) : $query -> the_post();
the_title();
endwhile;
?>
在哪里
fp_post 是自定义设置名称。
使用此代码时仅显示一篇文章,但使用时179,182,185 (岗位id号)代替get_theme_mod(\'fp_post\') 显示所有帖子
打印的值时fp_post it显示179,182,185
最合适的回答,由SO网友:LWS-Mo 整理而成
这个post__in
参数需要一个数组,请参见WP_Query docs.
使用customizer字段,您不是在保存数组,而是在保存逗号分隔的字符串。所以试试这样:
$my_field = get_theme_mod(\'fp_post\');
// create an array from comma separated values
$the_post_id_array = explode(\',\', $my_field);
$query = new WP_Query( array( \'post_type\' => \'post\', \'post__in\' => $the_post_id_array ) );
while ($query -> have_posts()) : $query -> the_post();
the_title();
endwhile;
见文件:
\'post__not_in\' => array( \'1,2,3\' ) // <--- this wont work