自定义帖子类型:更改“阅读更多”文本

时间:2013-08-05 作者:dadra

我正在开发一个网站,它有一个博客部分,还有一个“免费每月下载”部分,设置为自定义帖子类型。在主页上,我显示了包含“阅读更多”链接的摘录,包括最近的博客文章和最近的每月下载(这些都在单独的循环中)。

“我的函数”中的此代码自动生成“阅读更多”链接。php文件:

function excerpt_read_more_link($output) {
global $post;
return $output . \'<a class="more-link" href="\'. get_permalink($post->ID) . \'">Read more</a>\';
}
add_filter(\'the_excerpt\', \'excerpt_read_more_link\');
这很好,但我希望“阅读更多”,以便自定义帖子类型摘录为“立即获取”。

对于如何为博客帖子摘录和自定义帖子类型摘录提供不同的“阅读更多”文本,有什么建议吗?

提前谢谢。

2 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

嗯,这里有什么困难?你已经有了global $post 函数中的变量。就用它吧。

function excerpt_read_more_link($output) {
    global $post;
    $text = \'Read more\';
    if ( $post->post_type == \'MY-CUSTOM-POST-TYPE\' )  // change MY-CUSTOM-POST-TYPE to your real CPT name
        $text = \'Get it now\';
    return $output . \'<a class="more-link" href="\'. get_permalink($post->ID) . \'">\'. $text .\'</a>\';
}
add_filter(\'the_excerpt\', \'excerpt_read_more_link\');
当然,您可以在其中放置多个这样的if语句。

SO网友:Ben Miller - Remember Monica

如果帖子是“my\\u custom\\u post\\u类型”,则此链接将使用“Get it now”,如果是其他类型的帖子,则使用“Read more”。

function excerpt_read_more_link($output) {
    global $post;
    if ($post->post_type == \'my_custom_post_type\')
        $read_more_text = \'Get it now\';
    else
        $read_more_text = \'Read more\';
    return $output . \'<a class="more-link" href="\'. get_permalink($post->ID) . \'">\'.$read_more_text.\'</a>\';
}
add_filter(\'the_excerpt\', \'excerpt_read_more_link\');

结束

相关推荐