我正在开发一个网站,它有一个博客部分,还有一个“免费每月下载”部分,设置为自定义帖子类型。在主页上,我显示了包含“阅读更多”链接的摘录,包括最近的博客文章和最近的每月下载(这些都在单独的循环中)。
“我的函数”中的此代码自动生成“阅读更多”链接。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\');
这很好,但我希望“阅读更多”,以便自定义帖子类型摘录为“立即获取”。
对于如何为博客帖子摘录和自定义帖子类型摘录提供不同的“阅读更多”文本,有什么建议吗?
提前谢谢。
最合适的回答,由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\');