在单个模板页面

时间:2017-02-15 23:18:04

标签: php wordpress

我正在运行BeTheme但添加了自定义帖子类型。在index.php上,我需要从常规帖子和我创建的自定义帖子类型中提取," latest-news"。我不确定如何设置它以便index.php从我的帖子和我的自定义帖子类型中提取。

在我的主题中,index.php正在从此模板文件https://github.com/pingram3541/betheme/blob/master/includes/content-post.php

中提取函数

在此文件第10行开头的部分中:

if( ! function_exists('mfn_content_post') ){
function mfn_content_post( $query = false, $style = false, $images_only = false ){
    global $wp_query;

我非常确定我需要更改$args变量$wp_query正在提取的内容,以便array('post_type' => array('post')也有'latest-news',但我不是确定在哪里找到这个,或者这甚至是正确的方法。

编辑: 我刚刚尝试将以下代码添加到functions.php

function add_custom_post_type_to_query( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'post_type', array('post', 'latest-news') );
    }
}
add_action( 'pre_get_posts', 'add_custom_post_type_to_query' );

这不起作用。

1 个答案:

答案 0 :(得分:1)

档案的第21行:

if( ! $query ) $query = $wp_query;

尝试将其编辑为

$args=[
'post_type' => ['post', 'latest-news'],
];
if( ! $query ) $query = new WP_Query( $args );

让我知道这是否有效,具体取决于它可能产生意外结果的时间。