php 短代码到 jquery

Posted

技术标签:

【中文标题】php 短代码到 jquery【英文标题】:php shortcode into jquery 【发布时间】:2012-08-22 16:31:06 【问题描述】:

我有一个基于 Wordpress 的网站,其中一些内容是通过 javascript 加载的。 例如:

jQuery(".portfolio-fs-slides").css("display":"none").prepend('<div class="portfolio-fs-          slide current-slide portfolio-ppreview"><div class="project-coverslide"></div><div id="content" class="content-projectc contenttextwhite"></div></div>');

我想要做的是附加这个短代码:&lt;?php echo do_shortcode('[daisy]'); ?&gt;

但据我所知,在 javascript 中附加 php 代码是不可能的。 有什么解决方法可以做到这一点吗? 谢谢!

【问题讨论】:

PHP 需要在服务器端执行。但是,您可以回显 js 代码以由客户端解释。 那么,您是说在该函数中附加回显的短代码? 应该可以,是的。那个 PHP sn-p 的结果是什么? a class="clickable"&gt;CLICK HERE&lt;/a&gt; 我尝试在该函数中添加a class="clickable"&gt;CLICK HERE&lt;/a&gt;,但它不起作用,我的网站崩溃 【参考方案1】:

正如@Bergi 提到的,PHP 将运行在服务器端,而 JS 将运行在客户端。您可以通过 PHP 输出 JS(或部分 JS)并让它在客户端运行,例如

<script>
    // extra code here
    jQuery(".portfolio-fs-slides").css("display":"none").prepend('<div class="portfolio-fs-          slide current-slide portfolio-ppreview"><div class="project-coverslide"></div><div id="content" class="content-projectc contenttextwhite"></div></div>'); 
    <?php echo 'we can output valid js here' ?>
    // more code here
</script>

一种思考方式是,由于 PHP 运行在服务器端,它总是会在 JS 被解析之前运行。

换一种说法,你可以有这样的 javascript 行:

console.log(<?php echo $someVariable ?>);

【讨论】:

我想像这样添加它:('.portfolio-fs-viewport').append('&lt;a class="clickable"&gt;CLICK HERE&lt;/a&gt;'); 但我在控制台中收到了这个:yntaxError: Unexpected token &lt;

以上是关于php 短代码到 jquery的主要内容,如果未能解决你的问题,请参考以下文章

在 WordPress 中创建具有某些属性的短代码

如何在 jQuery( 文档 ).ready 中显示用户名?

通过 php 函数从 wordpress 短代码中删除空的 <p> 标签

PHP 将WP短代码添加到模板

如何将 php 代码插入 HTML 中的短代码?

如何在 WordPress 短代码中使用 jQuery?