我正在使用以下功能为我的主页和分类页面创建一个自定义摘录,这样我就可以按字符数进行操作,并有一个自定义的;阅读更多信息;。然而,我的摘录中显示了字幕和短代码。
Example:
[标题id=“attachment\\U 4656”align=“aligncenter”width=“450”]脆蔬菜玉米卷[[描述]当你决定晚餐做什么时,有时会感到心神不安吗?我作为家庭晚餐计划专家的这些年所学到的。。。继续阅读
我尝试添加第5行以去掉实际的短代码,但它不起作用。
我走对了吗?我更喜欢不显示任何短代码,我使用了我在网上看到的函数,但它不起作用(我猜是因为我使用的是自定义摘录函数)。有人想帮我吗?
function get_excerpt($count){
$permalink = get_permalink($post->ID);
$excerpt = get_the_content();
$excerpt = strip_tags($excerpt);
$excerpt = str_replace(\']]>\', \']]>\', $excerpt);
$excerpt = substr($excerpt, 0, $count);
$excerpt = substr($excerpt, 0, strripos($excerpt, " "));
$excerpt = $excerpt.\' ... <a href="\'.$permalink.\'" class="read-more">continue reading <i class="foundicon-right-arrow"></i></a>\';
return $excerpt;
}
我试图从中转换的第五行:
$content = str_replace(\']]>\', \']]>\', $content);
TIA!
最合适的回答,由SO网友:Mridul Aggarwal 整理而成
不要使用自定义函数。你应该用钩子。你不必去掉短代码,wordpress会自动为你做到这一点,只要使用这样的东西
// setting higher priority so that wordpress default filter have already applied
add_filter(\'the_excerpt\', \'custom_excerpt_filter\', 11);
function custom_excerpt_filter($excerpt) {
// apply your logic of read more link here
return $excerpt . \'Custom Read More Text\';
}
add_filter(\'excerpt_length\', \'custom_excerpt_length\');
function custom_excerpt_length($length) {
return 30; // replace this with the character count you want
}
RULE OF THUMB
永远不要为某些东西创建自定义函数有可用的钩子或核心函数