用提要中的自定义字段替换作者

时间:2011-10-04 作者:John Chandler

我正在对以前由其他人编写的主题进行定制。他们没有使用多个用户帐户来分配文章,而是为自定义作者名称创建了一个分类法,以便可以生成作者的帖子存档。代码如下,运行良好。但是,我还想替换提要中的作者名称。我假设它将是一个额外的过滤器和/或函数。有人能帮帮我吗?

add_filter( \'the_author_posts_link\', \'custom_author_name\' );
add_filter( \'get_the_author_display_name\', \'custom_author_name\' );
function custom_author_name( $name ) {
    global $post;
    $author = get_the_terms(get_the_ID(),\'article_author\');
    if ( $author )
        $name = the_terms(get_the_ID(),\'article_author\',\'\',\' & \');
    return $name;
}
更新。我根据stack exchange上其他地方的代码尝试添加此函数,但它似乎覆盖了整个站点上的作者,而不仅仅是提要:

add_filter( \'the_author\', \'feed_author\' );
function feed_author($name) {
  if( is_feed() ) {
    global $post;
    $author = get_the_terms(get_the_ID(),\'article_author\');
     if ( $author )
         $name = the_terms(get_the_ID(),\'article_author\',\'\',\' & \');
     return $name;  
  }
}
算了吧!

最终使用了从WP Codex中的示例get\\u the\\u terms代码中修改的这个。

add_filter( \'the_author\', \'feed_author\' );
function feed_author($article_authors) {
    if( is_feed() ) {
       $author = get_the_terms( get_the_ID(), \'article_author\' );
       if ( $author && ! is_wp_error( $author ) ) {  
           $byline = array();
           foreach ( $author as $author ) {
           $byline[] = $author->name;
           }   
           $article_authors = join( " & ", $byline );   
       }    
       return $article_authors;
    }
}

1 个回复
SO网友:Bainternet

try this:

add_filter( \'the_author\', \'feed_author\' );
function feed_author($name) {
    if( is_feed() && !is_admin()) {
        global $post;
        $author = get_the_terms($post->ID,\'article_author\');
        if ( $author )
            $name = the_terms($post->ID,\'article_author\',\'\',\' & \');
        return $name;  
    }
}
结束

相关推荐

FeedBurner在发布“Scheduled Post”时不更新

我到处找了找,找不到这方面的任何东西,所以我想看看你们是否能帮忙。我成功地安排了帖子并让他们发布-没有“错过时间表”的问题-但是当一篇预定的帖子发布时,WordPress不会ping Feedburner,我的提要也不会更新。我可以手动进入Feedburner并更新feed,但这很痛苦(好吧,这很容易,但我忘记了!这就是安排帖子的全部目的!:-)。是否有人知道Feedburner或WordPress中的设置需要更改才能使其正常工作?我的“隐私”设置设置为对搜索引擎可见。如果有任何帮助,请访问以下网站:ht