传递要由外部.js文件写入的复杂PHP变量

传递要由外部.js文件写入的复杂PHP变量,php,javascript,wordpress,fancybox,nextgen-gallery,Php,Javascript,Wordpress,Fancybox,Nextgen Gallery,大家好 这是我关于stackoverflow的第一篇文章。经过数小时的搜索和试验,StackOverflow想出了许多可能的解决办法:我决定是时候自己问这个问题了。 我正在为自己的网页设计工作构建一个Wordpress支持的投资组合网站。到目前为止,我已经做了一些广泛的定制,现在我已经到了最后阶段。还请注意,我并不期望直接的插件支持,但我会引用正在使用的插件,这可能会有帮助 前言: 我正在使用一个名为NextGen Gallery的插件,这个插件为我的作品集提供了动力。我所有的客户都有自己的画廊

大家好

这是我关于stackoverflow的第一篇文章。经过数小时的搜索和试验,StackOverflow想出了许多可能的解决办法:我决定是时候自己问这个问题了。 我正在为自己的网页设计工作构建一个Wordpress支持的投资组合网站。到目前为止,我已经做了一些广泛的定制,现在我已经到了最后阶段。还请注意,我并不期望直接的插件支持,但我会引用正在使用的插件,这可能会有帮助

前言:

  • 我正在使用一个名为NextGen Gallery的插件,这个插件为我的作品集提供了动力。我所有的客户都有自己的画廊,我会在公文包网站上展示
  • 我还为Wordpress安装了一个名为Fancybox的插件。这个插件可以让我所有的客户端都有一个好看的lightbox显示
  • 我有第三个插件,名为NextGen Gallery的自定义字段,该插件允许我添加特定于每个库和其中图像的自定义字段。你会发现我已经通过自定义字段插件添加的链接创建了自定义缩略图,从而利用了这一点
  • 我的目标是,利用自定义字段插件,为每张幻灯片添加html富描述文本和html富客户端标题文本。幻灯片顶部显示客户机名称,幻灯片下方显示带有链接的说明。我已经取得了一些进步,但这就是我被困的地方

    问题:

    jquery.fancybox.js不会接受由“NextGen自定义字段”插件生成的PHP变量,因为它是在名为gallery-popportfolio.PHP的文件(NGG的模板文件)中编写的。我对此进行了广泛的测试,得到了相同的结果。添加了几个简单的代码位:

    在gallery-popportfolio.php中,我放置以下内容:

    <?php $clientname = nggcf_get_gallery_field($gallery->ID, "clientnamelink"); ?>
    <script type="text/javascript"> var clientname = '<?= $clientname ?>'; </script>
    <script type="text/javascript" src=".../jquery.fancybox.js"></script>
    
    
    var clientname='';
    
    在jquery.fancybox.js中,我插入以下内容: (这是一个摘录,我只添加了.append(clientname):

    append(“”).append(clientname)

    现在让我非常感兴趣的是,在gallery-popportfolio.php中,如果我将$clientname指定为一行文本之类的静态内容,.js文件将接受变量并将其精确放置在我需要的位置。问题是,当我将此动态字符串应用于$clientname变量时,它只会不呈现任何内容。如w因此,当我在PHP文件中使用复杂变量回显$clientname时,我得到的结果是正确的

    问题:

    我被难住了,我似乎离得很近,但没有一个合适的结果

    我是否错过了使external.js文件接受更复杂php变量的步骤

    我是否可能只需要移动我在别处编写的php代码

    我下一个最好的步骤是什么

    注意事项:

    我沿着这条线索走到了现在:

    我的工作组合网站位于:

    提前感谢您的帮助!非常感谢!

    如果您对$clientname使用复杂变量表示“不是字符串”,那么您的代码将无法工作

    在这一行代码中:

    <script type="text/javascript"> var clientname = '<?= $clientname ?>'; </script>
    

    当你追加时,你应该从
    clientname
    中构造一个字符串并追加它。

    性感投资组合网站。当然可以在一些项目中使用你;)你知道如何联系我;)谢谢你的回复,伊兰科,请原谅,我没有完全理解。一旦我换掉了那行代码:我如何从clientname构造一个字符串并附加它呢;使用结果变量。完成后,将显示生成的自定义字段。但是,它仅显示与第一个库相同的客户端名称,并且不会在不同的客户端库中更改。
    <script type="text/javascript"> var clientname = <?= json_encode($clientname) ?>; </script>