添加到帖子标题时,快捷码在Slider中不起作用

时间:2021-04-06 作者:Dev

我已经编写了一个短代码,可以手动添加到特定的帖子标题字段中,以便我可以设置标题的一部分样式

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>
这是一个视频

enter image description here

我已经在帖子标题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\' );

1 个回复
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() )
);

相关推荐

Wordpress Vue Js Shortcodes

目前,我正在与Vue一起开发wordpress网站。js和wordpress REST API,找不到使用wordpress ShortCodeEx的解决方案:Contact Form 7 我一直在尝试这个例子,但它似乎对我不起作用Vue.js + AJAX Shortcode有没有人有过类似的问题?编辑:For ExampleIn regular wordpress我可以用这种方式使用联系人表单插件 <section class=\"container section__form display-