是否使用<!--More-->标记在Genesis中输出文本?

时间:2014-01-29 作者:kkin

这就是我想要实现的目标!

HTML:

some text
<!--more-->
some text
加载post时:

some text
MY TEXT WHICH WAS ADDED TO THE MORE TAG
some text
在我以前的WP站点上,我使用它在插入标签的位置的帖子上显示横幅。

不幸的是,我在《创世纪》中无法做到这一点。

下面是添加到函数中的代码。我的旧网站上的php:

function adsense_added_at_more_tag($text) {
if( is_single() ) :
$ads_text = \'BANNER GOES HERE\';
$pos1 = strpos($text, \'<span id="more-\');
$pos2 = strpos($text, \'</span>\', $pos1);
$text1 = substr($text, 0, $pos2);
$text2 = substr($text, $pos2);
$text = $text1 . $ads_text . $text2;
endif;
return $text;
}
关于如何在《创世纪》中实现这一点,有什么想法吗?

我从Brad那里得到了一些很好的建议,他提出了以下代码:

add_filter( \'the_content_more_link\', \'read_more_link\' );
function read_more_link() {
if ( is_single() ) {
echo \'<div class="your-banner">Add Your Banner HTML Here</div>\';
    }
}
我尝试将此添加到函数中。php在Genesis中,但什么都没有发生。“在此处添加横幅HTML”文本不会出现在帖子中。

我在网上探索了各种代码示例,并尝试用我(可以肯定地说)不存在的PHP技能调整上面粘贴的代码,但没有成功。

有人能想出如何修改代码以在Genesis中的一篇文章中显示文本吗?

2 个回复
最合适的回答,由SO网友:kkin 整理而成

好的,下面是解决方案:

Text after more tag in posts

在Genesis测试和工作!

SO网友:Brad Dalton

您可以通过修改此代码,使用\\u content\\u more\\u链接过滤器挂接横幅。

add_filter( \'the_content_more_link\', \'sp_read_more_link\' );
function sp_read_more_link() {
return \'<a class="your-banner" href="\' . get_permalink() . \'">[Banner Shortcode]</a>\';
}
另一种选择是create a shortcode ,并将该快捷码添加到上面的\\u content\\u more\\u链接筛选器中。

或者,您可以简单地在自定义函数中回显标题的div类和/或HTML,无论是否带有条件标记。

add_filter( \'the_content_more_link\', \'read_more_link\' );
function read_more_link() {
if ( is_single() ) {
echo \'<div class="your-banner">Add Your Banner HTML Here</div>\';
    }
}

Either add HTML for your banner or create a shortcode otherwise the code does nothing.

结束

相关推荐

存档-posttype.php未加载

我创建了自定义帖子类型add_action(\'after_setup_theme\', \'cptui_register_my_cpt_packaged\'); function cptui_register_my_cpt_packaged() { register_post_type(\'packaged\', array( \'label\' => \'Packaged Foods\', \'description\' => \'\', \'pub