尝试将标签符号添加到_tag链接前面

时间:2015-12-02 作者:Zenneson

我想使用jQuery在Wordpress的贴子页面上的标签前面预先添加一个标签(#)。此代码不起作用:

$(\'div.tags a\').prepend(\'#\');
这是php:

<div class="tags">
    <?php the_tags( \' \', \' \', \'\' ); ?>
</div>
我不希望“#”是存储的标记的一部分,只是为了显示而添加的。非常感谢。

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

我不想编辑标签本身,我只是想添加“#”,以便于视觉效果。

我决定将此添加到CSS中以解决此问题:

.tags a::before {
    content: \'#\';
}
感谢您的时间和投入。

SO网友:Pieter Goosen

使用JS并不是最好的解决方案,因为它可以在客户端禁用。您也可以使用类似PHP的正则表达式和DOM来更改链接,但我确实认为实现这一点的最可靠方法是通过term_link-post_tag filter 位于get_the_term_list() function 所使用的get_the_tag_list 依次用于the_tags().

以下内容未经测试,但您可以尝试以下内容

add_filter( \'term_link-post_tag\', function ( $links )
{
    // Return if $links are empty
    if ( empty( $links ) )
        return $links;

    // Reset $links to an empty array
    unset ( $links );
    $links = [];

    // Get the current post ID
    $id = get_the_ID();
    // Get all the tags attached to the post
    $taxonomy = \'post_tag\';
    $terms = get_the_terms( $id, $taxonomy );

    // Make double sure we have tags
    if ( !$terms )
        return $links; 

    // Loop through the tags and build the links
    foreach ( $terms as $term ) {
        $link = get_term_link( $term, $taxonomy );

        // Here we add our hastag, so we get #Tag Name with link
        $links[] = \'<a href="\' . esc_url( $link ) . \'" rel="tag">#\' . $term->name . \'</a>\';
    }

    return $links;
});

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请