WordPress Pretty Photo Pin It 按钮的问题

Posted

技术标签:

【中文标题】WordPress Pretty Photo Pin It 按钮的问题【英文标题】:Trouble with Wordpress Pretty Photo Pin It Button 【发布时间】:2014-02-14 16:00:39 【问题描述】:

如果您访问http://jbrazeal.com/galleries/bridals,您可以看到我的网站,其中包含 Wordpress 主题中的 PrettyPhoto 画廊。默认情况下,当您单击图片时,图片会展开并为您提供“Tweet”或“Like”图片下方按钮的选项。我安装了一个名为“prettyPhoto Media Pinterest”(https://github.com/Lawdawg/prettyphoto-media-pinterest)的插件,它为每张特定图片添加了一个“Pin It”按钮。

但是,该插件仅适用于某些页面而不适用于其他页面。它适用于上面链接的页面,但不适用于其他画廊页面。例如,它不适用于页面 /galleries/weddings 上的任何图片(我无法发布链接,因为我仅限于两个链接。

下面是php。我认为这是一个 PHP 问题,但如果您另有建议,我可以发布任何其他相关信息(该插件也有一个 javascript 文件)。此外,您可以看到我上面链接的实际网页以及插件页面。谢谢!

<?php
add_action('init', 'ppm_pinterest_init');

function ppm_pinterest_init() 
    define('PPM_PINTEREST_URI', trailingslashit( plugin_dir_url( __FILE__ ) ) );
    define('PPM_PINTEREST_VERSION', '0.1' );

    if (!is_admin()) 
            wp_enqueue_style('ppm_pinterest', PPM_PINTEREST_URI . 'css/ppm-pinterest.css', false, PPM_PINTEREST_VERSION, 'screen');
            wp_enqueue_script('pinterest_plus', PPM_PINTEREST_URI . 'js/pinterest-plus.min.js', false, false, true);
            add_action('wp_footer', 'ppm_pinterest_footer_script', 101);
            


function ppm_pinterest_footer_script() 
    $out = '<script>' . "\n";
    $out .= 'jQuery(function($) ' . "\n";        
    $out .= '  $(document).bind(\'DOMNodeInserted\', function(event) ' . "\n";
    $out .= '    if (window.settings && !window.settings.changepicturecallbackupdated) ' . "\n";
    $out .= '      window.settings.changepicturecallback = add_pinterest_pin_it_button' . "\n";
    $out .= '      window.settings.changepicturecallbackupdated = true;' . "\n"; 
    $out .= '    ' . "\n";
    $out .= '  );' . "\n";
    $out .= ');' . "\n";
    $out .= "\n";
    $out .= 'function add_pinterest_pin_it_button() ' . "\n";
    $out .= '  var i = jQuery(\'.pp_gallery\').find(\'li\').index(jQuery(\'.selected\'));' . "\n";
    $out .= '  var m = pp_images[i];' . "\n";
    $out .= '  jQuery(\'.pp_social\').append(\'<div class="pinterest"><a href="http://pinterest.com/pin/create/button/?url=\' + encodeURI(location.href.replace(location.hash,"")) + \'&media=\' + encodeURI(m) + \'" class="pin-it-button" count-layout="none"><img border="0" src="//assets.pinterest.com/images/PinExt.png" title="Pin It" /></a></div>\');' . "\n";
    $out .= '' . "\n";
    $out .= '</script>' . "\n";

    echo $out;


?>

【问题讨论】:

【参考方案1】:

我想通了。你可以在这里查看我的插件分支,现在可以使用了!

https://github.com/Lawdawg/prettyphoto-media-pinterest

我将 jQuery 调用更改为:

    $out .= '  jQuery(\'.pp_social\').append(\'<div class="pinterest"><a target="_blank" href="http://pinterest.com/pin/create/button/?url=\' + encodeURI(location.href.replace(location.hash,"")) + \'&media=\' + encodeURI(m) + \'&description=\' + encodeURI(o) + \'" class="pin-it-button" count-layout="none"><img border="0" src="//assets.pinterest.com/images/PinExt.png" title="Pin It" /></a></div>\');' . "\n";
$out .= '' . "\n";

【讨论】:

以上是关于WordPress Pretty Photo Pin It 按钮的问题的主要内容,如果未能解决你的问题,请参考以下文章

本地 Apache 服务器 mod_rewrite/pretty links 问题

用于开发目的的漂亮打印 Wordpress HTML 输出

Wordpress:WP_Query 如何使用自定义帖子类型应用搜索条件

如何使用 wordpress 上的 update_field 在 ACF 上上传图像

在Wordpress上使用ACF上的自定义字段时找不到“图库”字段类型

使用 MSVC 调试类型