使用 Javascript/Jquery 的 Wordpress 短代码

Wordpress short-code using Javascript/Jquery

我找不到用 javascript 调用 php 短代码的简单解决方案。
我有这个 javascript 代码:

$(document).ready(function(){
    $("button").click(function(){
        $.ajax({
            type: 'POST',
            url: '../wp-content/themes/medical-cure/ads_script.php',
            success: function(data) {

                $("p").text(data);
            }
        });
   });
});

其中 ads_script.php 包含:

<?php 
    echo do_shortcode( '[wprevive_js zoneid="10"]' );
?>

单击按钮时全部执行:

<button class="button" type="button" >Click Me</button>

但这一切都给我一个 500 错误。 也许我必须问 wordpress stackexchange 因为

do_shortcode( '[wprevive_js zoneid="10"]' );

实际上是一个 Worpdress 代码,但我将不胜感激。

更新:

如果我尝试输入 echo "hi" 而不是短代码,它会起作用,return 我 "HI" 当我使用按钮开始 Ajax 调用时。

您已将 ads_script.php 与 WordPress 核心隔离。

由于您直接调用它,它不会加载 WordPress 并且它们会给出 do_shortcode 不是函数错误。

尝试在您的 ads_script.php 文件中加载 wp_load.php。

它看起来像:

<?php 
 // instead of include '../../../wp-load.php'; do ...
  $parse_uri = explode( 'wp-content', $_SERVER['SCRIPT_FILENAME'] );
  require_once( $parse_uri[0] . 'wp-load.php' );

  echo do_shortcode( '[wprevive_js zoneid="10"]' );
?>