Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript/Jquery的Wordpress短代码_Javascript_Php_Ajax_Wordpress_Shortcode - Fatal编程技术网

使用Javascript/Jquery的Wordpress短代码

使用Javascript/Jquery的Wordpress短代码,javascript,php,ajax,wordpress,shortcode,Javascript,Php,Ajax,Wordpress,Shortcode,我找不到一个简单的解决方案,用javascript调用php短代码 我有以下javascript代码: $(document).ready(function(){ $("button").click(function(){ $.ajax({ type: 'POST', url: '../wp-content/themes/medical-cure/ads_script.php', success: f

我找不到一个简单的解决方案,用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"]' );
?>
实际上是一个Worpdress代码,但我很感谢您的帮助

更新:


如果我尝试使用
echo“hi”
而不是短代码,它会起作用,当我用按钮启动Ajax调用时,返回我“hi”。

您已经将您的ads\u script.php与WordPress内核隔离开来

因为您直接调用它,所以它不会加载WordPress,并且它们的do_短代码不会出现函数错误

尝试在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"]' );
?>

您已经将ads\u script.php与WordPress内核隔离开来

因为您直接调用它,所以它不会加载WordPress,并且它们的do_短代码不会出现函数错误

尝试在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"]' );
?>

“给我500个错误。”检查您的错误日志以查找抛出的特定错误,并包括上述内容。@PatrickQ没有响应或任何日志,在控制台中的ads_script.php上给我500个服务器错误。如果某个地方没有500个状态响应的错误日志,则可能性很小。你在看什么?@PatrickQ我只能从控制台看到,我无法访问服务器日志,所以在控制台中,我在jquery.min.js的第4行“send”、“ajax”看到500error。对此错误没有更好的解释:(“我无法访问服务器日志”您需要了解如何访问日志。没有它,您真的不应该进行任何开发。如果不知道实际的错误消息是什么,我们将无法帮助您。作为开发人员,您的日志基本上是调试的第一行。“给我一个错误。"请检查您的错误日志,以查找抛出的特定错误,并将其包括在上面。@PatrickQ没有响应或任何日志,在Console中的ads_script.php上显示500个服务器错误。不太可能在某个具有500个状态响应的地方不记录错误。您在哪里查找?@PatrickQ我只能从我的conso中看到le,我无法访问服务器日志,所以在控制台中,我在jquery.min.js的第4行“send”、“ajax”中看到了500error。对于这个错误没有更好的解释:(“我无法访问服务器日志”你需要弄清楚如何访问你的日志。没有它你真的不应该做任何开发。如果不知道实际的错误消息是什么,我们将无法帮助你。作为一名开发人员,你的日志基本上是你调试的第一行。是的,正是我的想法奏效了,兄弟!非常感谢!只是没有<代码>.text(数据)
我已经放置了
.html(数据)
来正确显示短代码。经过几天的尝试,第一个解决了这个问题的人。再次感谢。是的,我的想法确实奏效了,兄弟!非常感谢!我放置了
.html(数据)
而不是
以正确显示快捷码。经过几天的尝试,第一个解决此问题的人。再次感谢。
<?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"]' );
?>