【问题标题】:php shortcode into jqueryphp 短代码到 jquery
【发布时间】:2026-02-07 07:55:02
【问题描述】:

我有一个基于 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;,但它不起作用,我的网站崩溃

标签: php javascript jquery wordpress prepend


【解决方案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;