What I want
我需要显示不同类型的摘录。一些项目需要有一种类型的“阅读更多”按钮,其他项目需要有另一种类型的按钮。摘录的长度也是如此。
The problem I have
目前,两种类型的摘录都会显示完整的摘录,而“阅读更多”按钮完全缺失。
The code
自定义摘录长度函数:
function custom_excerpt_long($length) {
return 100;
}
function custom_excerpt_short($length) {
return 30;
}
自定义摘录“阅读更多”按钮功能:
function custom_continuereading($more) {
global $post;
return \'... — <a class="view-article" href="\' . get_permalink($post->ID) . \'">Continue reading</a>\';
}
function custom_readmore($more) {
global $post;
return \'... — <a class="view-article" href="\' . get_permalink($post->ID) . \'">Read more</a>\';
}
自定义摘录回调函数:
function custom_excerpt($length_callback = \'\', $more_callback = \'\') {
global $post;
if (function_exists($length_callback)) {
add_filter(\'excerpt_length\', $length_callback);
}
if (function_exists($more_callback)) {
add_filter(\'excerpt_more\', $more_callback);
}
$output = get_the_excerpt();
$output = apply_filters(\'wptexturize\', $output);
$output = apply_filters(\'convert_chars\', $output);
$output = \'<p>\' . $output . \'</p>\';
return $output;
}
打印摘录的代码:
<?php echo custom_excerpt(\'custom_excerpt_long\', \'custom_continuereading\'); ?>
<?php echo custom_excerpt(\'custom_excerpt_short\', \'custom_readmore\'); ?>
我做错了什么?谢谢大家的帮助!
更新-工作解决方案,回答是D.Dani,我选择了另一个解决方案。这是最后一个功能:
function custom_excerpt($length = \'\') {
global $post;
$output = get_the_excerpt();
$output = apply_filters(\'wptexturize\', $output);
$output = apply_filters(\'convert_chars\', $output);
$output = substr($output, 0, $length);
$output = \'<p>\' . $output . \'... <br><br> <a class="view-article" href="\' . get_permalink($post->ID) . \'">Continue reading</a></p>\';
return $output;
}
我可以这样调用函数:
<?php echo custom_excerpt(100); ?>