У меня есть следующий фрагмент Ajax, который вызывает файл php, который намеревается вернуть HTML-код короткого кода.
Вызов Ajax выглядит следующим образом:
var PostData = "Action=refresh-cart"; jQuery.ajax({ dataType: "text", type: 'POST', url : '<?php echo plugins_url( 'class-booking-system/class-booking-process.php', dirname(__FILE__) );?>', cache: false, data : PostData, complete : function() { }, success: function(data) { // jQuery("#loading-img").hide(); alert(data); // jQuery("#join-class-div-3").html(data); } });
PHP выглядит так:
<?php require_once( ABSPATH . '/wp-includes/shortcodes.php' ); if(isset($_POST['Action'])) { $Action = $_POST['Action']; if($Action == "refresh-cart") { echo do_shortcode('[woocommerce_cart]'); } } ?>
Однако, когда я вызываю свой метод Ajax, он возвращает HTTP 500, который, как я полагаю, означает, что функция do_shortcode не была найдена в этом контексте. Как я могу дать моему плагину возможность вызвать эту функцию wordpress через ajax?