如何在共享链接、分页等上方显示高级自定义域数据

时间:2017-06-29 作者:Destiny2Gamer

我使用了高级自定义字段插件2创建了两个字段,review score和review summary。

我可以在帖子上显示这些字段,这没问题,但它会在共享按钮、作者框、分页等所有内容之后显示。

我如何修改代码,使自定义字段显示在文章最后一段之后的所有内容之上?

这是显示自定义字段的代码:

<?php if( get_field(\'review_score\') ): ?>
                                <div class="review-score">
                                    <h1>The Last Word</h1>
                                    <div class="score-section">
                                    <span class="review-the-score"><?php the_field(\'review_score\'); ?></span><span class="review-out-of">/10</span>
                                    </div>
                                    <div class="summary-section">
                                    <span class="review-summary"><?php the_field(\'review_summary\'); ?></span></div>
                                </div>
                            <?php endif; ?>

Thanks for your help/

2 个回复
SO网友:Milo

插件通常通过the_content 滤器过滤器在以下情况下运行the_content() 函数被调用,并在输出之前通过过滤器传递内容。

请记住,使用过滤器时,需要附加到现有内容,然后return 结果。

add_filter( \'the_content\', \'wpd_content_filter\', 10 );

function wpd_content_filter( $content ){
    if ( is_single() && get_field( \'review_score\' ) )
        $content .= \'<span class="review-the-score">\' . get_field( \'review_score\' ) . \'</span>\';

    return $content;
}
的第三个参数add_filter 是优先级(在上例中为10,默认值)。如果插件内容出现在您自己的插件内容之上,您可能需要将其设置为较低的数字。

SO网友:Destiny2Gamer

我最终得到了这个,我决定放弃ACF,只使用wordpress自定义字段,下面是我的代码,它现在显示了评论分数和摘要,以及所有其他插件、作者框等。

    //show review score above other plugin stuff
add_filter( \'the_content\', \'gwad_review_score\', 1);

function gwad_review_score( $content ){

    global $post;

    $revscore = get_post_meta($post->ID, \'review_score\', true);
    $revsummary = get_post_meta($post->ID, \'review_summary\', true);

    if ($revscore) {

        $content = $content . \'<div class="review-score">\' . $revscore . \'<p>\' . $revsummary . \'</p>\' . \'</div>\';

        return $content;

    }else{

    }

}

结束

相关推荐

如何在共享链接、分页等上方显示高级自定义域数据 - 小码农CODE - 行之有效找到问题解决它

如何在共享链接、分页等上方显示高级自定义域数据

时间:2017-06-29 作者:Destiny2Gamer

我使用了高级自定义字段插件2创建了两个字段,review score和review summary。

我可以在帖子上显示这些字段,这没问题,但它会在共享按钮、作者框、分页等所有内容之后显示。

我如何修改代码,使自定义字段显示在文章最后一段之后的所有内容之上?

这是显示自定义字段的代码:

<?php if( get_field(\'review_score\') ): ?>
                                <div class="review-score">
                                    <h1>The Last Word</h1>
                                    <div class="score-section">
                                    <span class="review-the-score"><?php the_field(\'review_score\'); ?></span><span class="review-out-of">/10</span>
                                    </div>
                                    <div class="summary-section">
                                    <span class="review-summary"><?php the_field(\'review_summary\'); ?></span></div>
                                </div>
                            <?php endif; ?>

Thanks for your help/

2 个回复
SO网友:Milo

插件通常通过the_content 滤器过滤器在以下情况下运行the_content() 函数被调用,并在输出之前通过过滤器传递内容。

请记住,使用过滤器时,需要附加到现有内容,然后return 结果。

add_filter( \'the_content\', \'wpd_content_filter\', 10 );

function wpd_content_filter( $content ){
    if ( is_single() && get_field( \'review_score\' ) )
        $content .= \'<span class="review-the-score">\' . get_field( \'review_score\' ) . \'</span>\';

    return $content;
}
的第三个参数add_filter 是优先级(在上例中为10,默认值)。如果插件内容出现在您自己的插件内容之上,您可能需要将其设置为较低的数字。

SO网友:Destiny2Gamer

我最终得到了这个,我决定放弃ACF,只使用wordpress自定义字段,下面是我的代码,它现在显示了评论分数和摘要,以及所有其他插件、作者框等。

    //show review score above other plugin stuff
add_filter( \'the_content\', \'gwad_review_score\', 1);

function gwad_review_score( $content ){

    global $post;

    $revscore = get_post_meta($post->ID, \'review_score\', true);
    $revsummary = get_post_meta($post->ID, \'review_summary\', true);

    if ($revscore) {

        $content = $content . \'<div class="review-score">\' . $revscore . \'<p>\' . $revsummary . \'</p>\' . \'</div>\';

        return $content;

    }else{

    }

}

相关推荐