个性化阅读
专注于IT技术分析

WordPress的是否可以使用钩子在帖子标题的标记之后插入标记?

我正在构建一个插件, 该插件需要在任何给定页面/帖子的主标题之后插入一些链接。

如果我使用post_title过滤器, 例如, 我的标记将添加在H1内……而不是在它之后。

function so_title_filter( $title, $id = null ) {

    if (in_the_loop()) {
        $title = $title . "<p>Custom markup!</p>";
    }

    return $title;
}
add_filter( 'the_title', 'so_title_filter', 10, 2 );

有没有办法在标题的标记之后添加自定义标记?


#1


不可以, 不能使用挂钩。如果查看the_title的源代码, 你会注意到在参数before和after上没有过滤器, 仅在函数get_the_title()上。主题实现标题的方式也不一致, 例如, 主题可以使用the_title(‘<h1>’, ‘</ h1>’);或<h1> <?php the_title();或?> </ h1>, 因此使用钩子无法实现这一目标。

你可以用一些JavaScript来做到

PHP(将类添加到注入的元素中)

function so_title_filter( $title, $id = null ) {

    if (in_the_loop()) {
        $title = $title . '<p class="moveme">Custom markup!</p>';
    }

    return $title;
}
add_filter( 'the_title', 'so_title_filter', 10, 2 );

JS

jQuery( document ).ready( function() {
    jQuery( '.moveme' ).each( function() {
         jQuery( this ).insertAfter( jQuery( this ).parent() );
    });
});

Codepen演示

赞(0) 打赏
未经允许不得转载:srcmini » WordPress的是否可以使用钩子在帖子标题的标记之后插入标记?
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏