WordPress摘录添加社交分享按钮文本

时间:2017-02-13 00:58:48

标签: wordpress wordpress-theming

我在我的WordPress主题上添加了一个分享按钮,然后使用the_content将其添加到页面顶部,并且当我检查我的主页时,我看到社交按钮上的文字,例如, Facebook,Google Plus,Twitter和其他人都出现了(虽然是纯文本)。

然而,我制作了另一段代码,在完美运行的内容之后立即附加它。我的意思是摘录没有添加社交图标文本,毕竟限制是30个字符。

我想删除这些按钮,这些按钮在摘录时显示在顶部。我的意思是在内容之前。

以下是我的意思截图:
screenshot of my question

如果需要修改,这是我的代码。

/* social share icons */

function crunchify_social_sharing_buttons($content) {
global $post;
if(is_singular() || is_home()){

    // Get current page URL 
    $crunchifyURL = urlencode(get_permalink());

    // Get current page title
    $crunchifyTitle = str_replace( ' ', '%20', get_the_title());

    // Get Post Thumbnail for pinterest
    $crunchifyThumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' );

    // Construct sharing URL without using any script
    $twitterURL = 'https://twitter.com/intent/tweet?text='.$crunchifyTitle.'&url='.$crunchifyURL.'&via=Crunchify';
    $facebookURL = 'https://www.facebook.com/sharer/sharer.php?u='.$crunchifyURL;
    $googleURL = 'https://plus.google.com/share?url='.$crunchifyURL;
    $bufferURL = 'https://bufferapp.com/add?url='.$crunchifyURL.'&text='.$crunchifyTitle;
    $linkedInURL = 'https://www.linkedin.com/shareArticle?mini=true&url='.$crunchifyURL.'&title='.$crunchifyTitle;
    $whatsappURL = 'whatsapp://send?text='.$crunchifyTitle . ' ' . $crunchifyURL;

    // Based on popular demand added Pinterest too
    $pinterestURL = 'https://pinterest.com/pin/create/button/?url='.$crunchifyURL.'&media='.$crunchifyThumbnail[0].'&description='.$crunchifyTitle;

    // Add sharing button at the end of page/page content
    $variable .= '<!-- Crunchify.com social sharing. Get your copy here: http://crunchify.me/1VIxAsz -->';
    $variable .= '<div class="crunchify-social">';
    $variable .= '<a class="crunchify-link crunchify-twitter" href="'. $twitterURL .'" target="_blank"><i class="fa fa-twitter"></i> Twitter</a>';
    $variable .= '<a class="crunchify-link crunchify-facebook" href="'.$facebookURL.'" target="_blank"><i class="fa fa-facebook"></i>Facebook</a>';
    $variable .= '<a class="crunchify-link crunchify-whatsapp" href="'.$whatsappURL.'" target="_blank"><i class="fa fa-whatsapp"></i>WhatsApp</a>';
    $variable .= '<a class="crunchify-link crunchify-googleplus" href="'.$googleURL.'" target="_blank"><i class="fa fa-google-plus"></i>Google+</a>';
    $variable .= '<a class="crunchify-link crunchify-buffer" href="'.$bufferURL.'" target="_blank"><i class="fa fa-spinner"></i>Buffer</a>';
    $variable .= '<a class="crunchify-link crunchify-linkedin" href="'.$linkedInURL.'" target="_blank"><i class="fa fa-linkedin" aria-hidden="true"></i>LinkedIn</a>';
    $variable .= '<a class="crunchify-link crunchify-pinterest" href="'.$pinterestURL.'" data-pin-custom="true" target="_blank"><i class="fa fa-pinterest-p"></i>Pin It</a>';
    $variable .= '</div>';

    return $variable.$content;
}else{
    // if not a post/page then don't include sharing button
    return $variable.$content;
}
};
add_filter( 'the_content', 'crunchify_social_sharing_buttons');

2 个答案:

答案 0 :(得分:0)

您是否在主题中使用插件或功能来创建摘录?使用WP Core功能的自动创建摘录从the_content开始,删除所有HTML标记和短代码,默认长度为55个字。

如果你想专门排除这个块,你可以在你的主题的functions.php或一个特定于站点的插件中添加一个小函数,该插件(只要它没有与其他函数命名相同)可以与其他the_excerpt的过滤条件:

function excerpt_strip_content_share_buttons( $excerpt ) {
    $regex = '(<div class="crunchify-social">)((\s)*(<a\s.*a>))+(\s*<\/div>){1}'; \\ specifically for that block of your 'a' tags, does not affect other divs
    $excerpt = preg_replace($regex,'', $excerpt);
    return $excerpt;
}
add_filter( 'the_excerpt', 'excerpt_strip_content_share_buttons', 0);

答案 1 :(得分:0)

我想出了一个不同的方式,你希望现在有一个标记作为回答按钮我会点击它,我发现为什么它的显示是因为它在the-content并且摘录试图剥离关闭图像,div类,短代码,html标签等等,只留下纯文本。

所以我做的是

  1. 我创建了一个新代码,为其添加了一个简短代码并使用acardio-social调用它,然后在标题后调用它,这次不在<?php the-content(); ?>内,并使其更好一些仅仅短代码甚至不是div类,因此只要它带有一个函数就完全排除在<?php the-excerpt()?>之外我认为这种方法是我能做的最好的。

  2. 我添加了一个获取标题的函数我也试过了,因此能够在while ('have_posts()')条件下运行,因此它会在5个帖子的列表中生成不同的共享网址。

    < / LI>

    这是代码,如果它可以帮助任何身体。

    /* social share icons */
    
    /**
    * Shortcode function ish
    */
    add_shortcode( 'acardio-social', 'nerd_social_share_plugin_shortcode' );
    function nerd_social_share_plugin_shortcode( $attr ) {
    global $plugin_code;
       // Get current page URL 
    $crunchifyURL = urlencode(get_permalink());
    
    // Get current page title
    $crunchifyTitle = str_replace( ' ', '%20', get_the_title());
    
    // Get Post Thumbnail for pinterest
    $crunchifyThumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' );
    
    // Construct sharing URL without using any script
    $twitterURL = 'https://twitter.com/intent/tweet?text='.$crunchifyTitle.'&amp;url='.$crunchifyURL.'&amp;via=Crunchify';
    $facebookURL = 'https://www.facebook.com/sharer/sharer.php?u='.$crunchifyURL;
    $googleURL = 'https://plus.google.com/share?url='.$crunchifyURL;
    $bufferURL = 'https://bufferapp.com/add?url='.$crunchifyURL.'&amp;text='.$crunchifyTitle;
    $linkedInURL = 'https://www.linkedin.com/shareArticle?mini=true&url='.$crunchifyURL.'&amp;title='.$crunchifyTitle;
    $whatsappURL = 'whatsapp://send?text='.$crunchifyTitle . ' ' . $crunchifyURL;
    
    // Based on popular demand added Pinterest too
    $pinterestURL = 'https://pinterest.com/pin/create/button/?url='.$crunchifyURL.'&amp;media='.$crunchifyThumbnail[0].'&amp;description='.$crunchifyTitle;
    
    echo '<div class="crunchify-social">';
    
    echo '<div class="acardio-post-social-icons">';
    
    echo '
        <!--Facebook-->
        <a class="crunchify-link crunchify-facebook" href="'.$facebookURL.'" target="_blank"><i class="fa fa-facebook"></i>Facebook</a>
    
        <!-- twiiter -->
    
        <a class="crunchify-link crunchify-twitter" href="'. $twitterURL .'" target="_blank"><i class="fa fa-twitter"></i> Twitter</a>
    
    
    
        <!--Google Plus-->
       <a class="crunchify-link crunchify-googleplus" href="'.$googleURL.'" target="_blank"><i class="fa fa-google-plus"></i>Google+</a>
    
        <!-- whatsapp -->
        <a class="crunchify-link crunchify-whatsapp" href="'.$whatsappURL.'" target="_blank"><i class="fa fa-whatsapp"></i>WhatsApp</a>
    
    
        <!--Reddit-->
        <a  class="crunchify-link crunchify-googleplus" target="_blank" href="http://reddit.com/submit?url='. get_permalink() .'&amp;title='. the_title('', '', FALSE) .'" rel="nofollow"><i class="fa fa-reddit"></i>Reddit</a>
    
        <!--buffer-->
        <a class="crunchify-link crunchify-buffer" href="'.$bufferURL.'" target="_blank"><i class="fa fa-spinner"></i>Buffer</a>
    
        <!--LinkedIn-->
        <a class="crunchify-link crunchify-linkedin" href="'.$linkedInURL.'" target="_blank"><i class="fa fa-linkedin" aria-hidden="true"></i>LinkedIn</a>
    
        <!--Pinterst-->
        <a class="crunchify-link crunchify-pinterest" href="'.$pinterestURL.'" data-pin-custom="true" target="_blank"><i class="fa fa-pinterest-p"></i>Pin It</a>
    
        ' .
        "
    </div>
    </div>";
    }
    

    请注意,您可以接受修改。