【问题标题】:Calling an external do_shortcode from a PHP file从 PHP 文件调用外部 do_shortcode
【发布时间】:2016-11-29 17:44:42
【问题描述】:

我正在尝试使用我服务器上 PHP 文件中的外部 do_shortcode 填充 DIV。但我得到的只是一条致命的错误消息

基本上会有两个按钮,当单击它们时,将根据两个不同的 PHP 文件使用不同的内容填充 DIV。

这是我 page_template.php 中的 html 和用于填充 DIV 的 javascript

<ul>
    <li><a class="ajax-link" href="template1.php">ONE</a></li>
    <li><a class="ajax-link" href="template2.php">TWO</a></li>
</ul>

<div class="page" id="main_content"></div>

<script>
   $("a.ajax-link").on("click", function(e) {
     e.preventDefault();
     $("#main_content").load(this.href);
   });        
</script>

template1.php 和 template2.php 只有 do_shortcode php:

&lt;?php echo do_shortcode('[ff id="1"]'); ?&gt;

【问题讨论】:

  • 哪个致命错误?
  • 致命错误:调用未定义函数 do_shortcode() 我认为这是因为调用此函数时不涉及 Wordpress,因此 javascript 无法理解它。我只是不知道如何解决它

标签: javascript php html wordpress shortcode


【解决方案1】:

您不能使用 ajax 输出简码。因为在进行 ajax 请求时,admin-ajax.php 不知道 shortcodes.php 文件。使用 ajax 请求时,您无权访问整个 wp 环境。

【讨论】:

    【解决方案2】:

    您可以创建两个 wordpress 页面并在该页面中添加短代码 并创建一个不调用页眉和页脚的模板(但包括 CSS 和 JSS)

    Page 1 - [ff id="1"]
    Page 2 - [ff id="2"]
    

    在 wordpress 后端为这些页面分配模板

    【讨论】:

      猜你喜欢
      • 2019-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-04
      • 1970-01-01
      相关资源
      最近更新 更多