我正在尝试将 php 文件加载到 div #main
单击链接时。 html 内容会加载,但文件中包含的实际 php 代码不会加载。这是我得到的:
触发一切的链接:
<a id="nav" href="http://domain.com/inc/file.php">
jQuery:
jQuery(document).ready(function($) {
$("#nav").on('click', function (e) {
e.preventDefault();
$("#main").empty();
$.ajax({
url: $("#nav").attr('href')
}).done(function(data) {
$('#main').html(data); // display data
});
});
});
代码来自file.php
(主要是WordPress功能):
<div id="hostels" class="section cf">
<?php get_a_post(31); ?>
<article id="swiss" <?php post_class('swiss bg col span-1-3'); ?> role="article">
<h3>
<a href="<?php the_permalink(); ?>">
<span class="logo-pl-small"><?php include(TEMPLATEPATH . '/library/svg/logo.svg'); ?></span>
<span class="">Swiss Cottage – London UK</span>
</a>
</h3>
<?php if ( has_post_thumbnail()) { the_post_thumbnail(); } ?>
<div class="entry-content">
<?php the_excerpt(); ?>
<?php edit_post_link( __( 'Edit', 'bonestheme' ) ); ?>
<?php if ( get_post_meta($post->ID, 'vidlink', true) ) {
echo apply_filters('the_content', get_post_meta($post->ID, 'vidlink', true));
} ?>
</div>
</article>
</div>
输出:
<div id="main">
<div id="hostels" class="section cf">
</div>
</div>
文件开始加载,但一旦<?php get_a_post(31); ?>
到达后,文件不会继续加载。
我可能是错的,但我认为通过使用$.ajax
php 代码将在服务器上执行,其输出的代码将加载到我的 #main
中分区。
最佳答案
所以我已经让这个在某种程度上发挥作用了。 我发现this tutorial for Ajax Powered Loops with jQuery and WordPress从中我发现(正如我所猜测的)我创建的文件需要了解 WordPress 功能。为此,我需要包括:
require_once('../../../../wp-load.php');
就我而言,这是来自 file.php
的相关路径。
仍然存在一些问题,例如插件生成的短代码无法完全正常工作,但这超出了我最初问题的范围。
上面的教程中有很多与 ajax 和 Wordpress 相关的有用信息,如果有人遇到类似问题,我建议您阅读一下。
关于php - jquery ajax加载php到指定的div中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20974255/