你好,
我确实在我的孩子主题中用yoast元描述替换了《创世纪》的帖子摘录,但问题是,我想在没有元描述的时候再显示帖子摘录。我使用的函数是,
remove_action( \'genesis_entry_content\', \'genesis_do_post_content\' );
add_action( \'genesis_entry_content\', \'excerpt_to_meta_desc\' );
function excerpt_to_meta_desc(){
if ( is_singular() ) {
the_content();
if ( is_single() && \'open\' === get_option( \'default_ping_status\' ) && post_type_supports( get_post_type(), \'trackbacks\' ) ) {
echo \'<!--\';
trackback_rdf();
echo \'-->\' . "\\n";
}
if ( is_page() && apply_filters( \'genesis_edit_post_link\', true ) )
edit_post_link( __( \'(Edit)\', \'genesis\' ), \'\', \'\' );
}
elseif ( \'excerpts\' === genesis_get_option( \'content_archive\' ) ) {
if($output=get_post_meta(get_the_ID(), \'_yoast_wpseo_metadesc\', true)){
add_filter( \'get_the_excerpt\', \'replace_post_excerpt_filter\' );
function replace_post_excerpt_filter($output) {
return $output;
}
echo get_post_meta(get_the_ID(), \'_yoast_wpseo_metadesc\', true) .\' <a href="\' . get_permalink() . \'" class="excerpt_more">Read More</a>\';
}
else{
the_excerpt();
}
}
else {
if ( genesis_get_option( \'content_archive_limit\' ) )
the_content_limit( (int) genesis_get_option( \'content_archive_limit\' ), genesis_a11y_more_link( __( \'[Read more...]\', \'genesis\' ) ) );
else
the_content( genesis_a11y_more_link( __( \'[Read more...]\', \'genesis\' ) ) );
}
}
它在我的localhost中工作正常,但在联机域中会导致致命错误。类似这样的内容,“Cannot redecaler replace\\u post\\u extract\\u filter()(之前在….中声明)”
http://clientproject.twramz.org/
我已经检查了所有文件,这是我使用此摘录过滤器的唯一函数。请问有什么解决办法吗?