获取自定义帖子类型作者和发布日期

时间:2014-12-27 作者:cristovaov

在下划线中,我可以通过预获取帖子和常规博客帖子来获取自定义帖子类型。但是,不会显示发布日期和作者。如何修改模板标记(themeslug\\u posted\\u on)以显示它们?

我的预获取帖子过滤器:

add_filter( \'pre_get_posts\', \'get_my_cpt\' );
function get_my_cpt( $query ) {
    if ( is_archive() || is_search() || is_home() && $query->is_main_query() )
        $query->set( \'post_type\', array( \'post\', \'my_cpt\' ) );
    return $query;
}
我要修改的下划线:

if ( ! function_exists( \'_s_posted_on\' ) ) :
/**
* Prints HTML with meta information for the current post-date/time and author.
*/
function _s_posted_on() {
    $time_string = \'%2$s\';
    if ( get_the_time( \'U\' ) !== get_the_modified_time( \'U\' ) ) {
        $time_string = \'%2$s%4$s\';
    }
    $time_string = sprintf( $time_string,
        esc_attr( get_the_date( \'c\' ) ),
        esc_html( get_the_date() ),
        esc_attr( get_the_modified_date( \'c\' ) ),
        esc_html( get_the_modified_date() )
    );
    $posted_on = sprintf(
        _x( \'Posted on %s\', \'post date\', \'_s\' ),
        \'\' . $time_string . \'\'
    );
    $byline = sprintf(
        _x( \'by %s\', \'post author\', \'_s\' ),
        \'\' . esc_html( get_the_author() ) . \'\'
    );
    echo \'\' . $posted_on . \' \' . $byline . \'\';
}
endif;
Answer:我找错地方了。答案在于“内容”。php的下划线文件。显示的预期结果是将我的cpt添加到条件中,如下所示:

if ( \'post\' || \'my_cpt\' == get_post_type() ) :

1 个回复
最合适的回答,由SO网友:cristovaov 整理而成

我找错地方了。答案在于“内容”。php的下划线文件。显示的预期结果是将我的cpt添加到条件中,如下所示:

if ( \'post\' || \'my_cpt\' == get_post_type() ) :

结束

相关推荐

Underscores in custom fields

在尝试使用meta\\u Query()执行WP\\u查询时,我遇到了一些问题,因为插件创建的自定义字段_ 在它名字的开头。虽然我注意到它是以这种方式存储在数据库中的,但我不知道它为什么会在那里,我想我必须引用它而不带下划线(对于记录,这是错误的)。为什么一些自定义字段以下划线开头,而其他字段不以下划线开头?下划线的作用是什么?在某些情况下它们是强制性的吗?