通过帖子ID从Cutomizer文本输入获取定制帖子

时间:2018-08-22 作者:Partha

我想通过使用帖子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

1 个回复
最合适的回答,由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

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register