我已经编写了一个短代码,可以手动添加到特定的帖子标题字段中,以便我可以设置标题的一部分样式
add_shortcode( \'green\', \'green_shortcode\' );
function green_shortcode( $atts, $content = 0 ) {
$a = shortcode_atts( array(
\'class\' => \'green\',
), $atts );
return \'<span class="\' . $a[\'class\'] . \'">\' . $content . \'</span>\';
}
这适用于单个帖子标题,但在将标题拉入滑块时不会解析短代码。
这是来自滑块的混乱HTML输出
<h2><a href="http://newlocal.local/this-is-a-featured-post-4/" title="This is a Featured Post #4">This <span class="green"> is a Featured Post #4</span></a></h2>
这是一个视频
我已经在帖子标题PHP中添加了do\\u快捷码,但它并没有解决这个问题
do_shortcode( get_the_title() );
滑块使用WP\\U查询
new WP_Query( $query_args );
printf( \'<h2><a href="%s" title="%s">%s</a></h2>\', get_permalink(), the_title_attribute( \'echo=0\' ), get_the_title() );
Edit : 这是添加到函数中的内容。php解析文章标题中的短代码。适用于单个帖子标题,但当帖子标题显示在滑块中时不起作用。
add_filter( \'the_title\', \'do_shortcode\' );
SO网友:Pat J
do_shortcode()
返回您传递给它的内容以及筛选出的短代码(如有)(即已处理)。
因此,您在问题中发布的代码不会按您希望的方式工作:
do_shortcode( get_the_title() );
printf(
\'<h2><a href="%s" title="%s">%s</a></h2>\',
get_permalink(),
the_title_attribute( \'echo=0\' ),
get_the_title()
);
相反,您需要执行以下操作:
$title = do_shortcode( get_the_title() );
printf(
\'<h2><a href="%s" title="%s">%s</a></h2>\',
get_permalink(),
the_title_attribute( \'echo=0\' ),
$title
);
或
printf(
\'<h2><a href="%s" title="%s">%s</a></h2>\',
get_permalink(),
the_title_attribute( \'echo=0\' ),
do_shortcode( get_the_title() )
);