循环中的AddToAny短码

时间:2021-01-22 作者:dragoweb

我尝试在我的自定义循环页面中添加任何短代码,但循环中的每个帖子的共享链接始终保持不变。

<?php 
global $post; 
echo do_shortcode(\'[addtoany url="\' . the_permalink() . \'" title="\' . the_title() . \'"]\') 
?>
我也试过get_permalink(), get_permalink($post->ID), get_the_permalink()... 但什么都不管用。根据official documentation.

我不明白为什么:/

EDIT

以下是完整功能:

<?php
add_filter( \'generate_do_template_part\', function( $do ) {
    if ( is_archive() || is_search() ) {
        return false;
    }
    return $do;
});
add_action( \'generate_before_do_template_part\', function() {
    global $post;
    if ( is_archive() || is_search() ) : ?>
        <article <?php post_class(); ?>>
            <div class="inside-article sf-result">
                <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
                <div class="sfr-inner"> 
                    <div><?php if ( has_post_thumbnail() ) { ?><div class="sfr-thumb"><a href="<?php the_permalink() ?>"><?php the_post_thumbnail("medium") ?></a></div><?php } ?></div>
                    <div><p><?php the_excerpt(); ?></p></div>
                    <div class="sfr-inner-bottom">
                        <span class="mdi mdi-share"></span><!-- share icon -->
                        <div class="sfr-share-box"><?php echo do_shortcode(\'[addtoany url="\' . get_the_permalink() . \'" title="\' . get_the_title() . \'"]\') ?></div><!-- opens by a click with a jQuery function -->
                    </div>
                </div>
            </div>
        </article>
    <?php endif;
}); ?>
使用此函数,我覆盖了GeneratePress主题(和searchanfilter插件)生成的归档和搜索页面中的循环。我得到了正确的标题、缩略图和摘录的永久链接,没有问题,但不在这个短代码内。

1 个回复
SO网友:dragoweb

好的,我知道了。现在对我来说,这似乎太明显了,我感到有点羞愧(我可能累了)。我在这个问题上花了两天时间才意识到我犯了一个大错。

我使用这个jQuery打开。包含共享图标的sfr共享框模式(具有全宽覆盖):

$(\'.sfr-share\').on(\'click\', function() {
    $(\'.sfr-share-box\').fadeIn();
}); 
所以,正如你可能已经猜到的,所有情态动词都同时打开,一个接一个。所以这只是最后一个出现的,这就是为什么我总是有相同的共享链接。

我修改了函数,现在一切正常。

$(\'.sfr-share\').on(\'click\', function() {
    $(this).closest(\'.sf-result\').children(\'.sfr-share-box\').fadeIn();
});
我可能应该投反对票,因为这太愚蠢了,但我很高兴我终于找到了它^^^无论如何,谢谢大家的建议(我们总是从错误中吸取教训,对吧?)。

相关推荐

即使以管理员身份也无法使用/wp-json/wp/v2/plugins API终结点

以管理员身份使用基本身份验证时,我得到一个错误代码401 Unauthorized : [rest_cannot_view_plugins] Sorry, you are not allowed to manage plugins for this site. 尝试访问GET时出错/wp-json/wp/v2/plugins 我的服务器的终结点。我可以毫无问题地获取帖子和页面信息,但当我查询插件时,我得到了401错误。我已经确认,API调用中使用的用户ID应该能够使用CLI工具管理插件:# wp use