2016-07-26 54 views
1

我试图从我的服务器上的PHP文件填充外部do_shortcode的DIV。但我得到的是一个致命的错误信息从PHP文件调用外部do_shortcode

基本上会有两个按钮,点击后会根据两个不同的PHP文件填充不同内容的DIV。

这里是我的page_template.php的HTML和JavaScript来填充DIV

<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:

<?php echo do_shortcode('[ff id="1"]'); ?>

+1

哪个致命错误? –

+0

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

回答

0

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

0

您可以创建两个WordPress网页,并在网页 在WordPress后台添加简码,并没有调用页眉和页脚创建模板(但包括CSS和JSS)

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

分配模板到这些网页