WordPress короткий код с использованием Javascript / Jquery - PullRequest
0 голосов
/ 30 августа 2018

Мне не удалось найти простое решение для вызова php шорткода с помощью javascript.
У меня есть этот код 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, но я был бы признателен за любую помощь здесь.

UPDATE:

Если я попытаюсь поставить echo "hi" вместо шорткода, он сработает, верните мне «HI», когда я начинаю Ajax-вызов с помощью кнопки.

1 Ответ

0 голосов
/ 30 августа 2018

Вы изолировали свой ads_script.php от ядра WordPress.

Так как вы делаете прямой вызов, он не загружает WordPress, и их код do_short не вызывает ошибку функции.

Попробуйте загрузить wp_load.php в свой файл ads_script.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"]' );
?>
...