gpt4 book ai didi

ajax - wordpress通过ajax加载页面内容

转载 作者:行者123 更新时间:2023-12-01 23:52:50 25 4
gpt4 key购买 nike

我试图在单击导航项时在 wordpress 中加载页面内容。目的是用请求的数据刷新 #content 的内容。

这是我的导航

$sidebar_posts = query_posts( 'post_type=page&order=ASC' );
echo '<ul id="sidebar-ajax">';
foreach($sidebar_posts as $post){
echo '<li id="' .get_the_ID(). '">';
echo '<a class="ajax-click" href="#">'.get_the_title().'</a>';
echo '</li>';
}
echo '</ul>';

这是我的函数

add_action ( 'wp_ajax_nopriv_load-content', 'my_load_ajax_content' );
function my_load_ajax_content () {
$post_id = $_POST[ 'post_id' ];
$post = get_post( $post_id, OBJECT);
$response = apply_filters( 'the_content', $post->post_title );
echo $response;
die(1);
}

wp_enqueue_script( 'my-ajax-request', get_bloginfo('template_directory') . '/js/ajax.js', array( 'jquery' ) );
wp_localize_script( 'my-ajax-request', 'MyAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );

这是我的 JS

jQuery(document).ready(function($) {

$(".ajax-click").click(function() {
$("#loading-animation").show();
var post_id = $(this).parent("li").attr("id");
var ajaxURL = MyAjax.ajaxurl;

$.ajax({
type: 'POST',
url: ajaxURL,
data: {"action": "load-content", post_id: post_id },
success: function(response) {
$("#content").html(response);
$("#loading-animation").hide();

alert(post_id);
return false;
}
});
});
});

选择导航项时,警报会显示正确的 post_id,但 $response 返回 0。

知道问题出在哪里吗?

最佳答案

您在测试时是否登录了 wordpress?如果是,请尝试添加

add_action ( 'wp_ajax_load-content', 'my_load_ajax_content' );

就在你之后

add_action ( 'wp_ajax_nopriv_load-content', 'my_load_ajax_content' );

Wordpres 必须 Hook guest 和登录用户。

关于ajax - wordpress通过ajax加载页面内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25741404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com