【发布时间】:2018-04-27 06:11:12
【问题描述】:
我正在进行 ajax 调用以从 functions.php 检索帖子,以下问题仅针对非网站成员。有时仅触发,有时根本不触发。
我正在按以下方式在functions.php中添加操作
add_action('wp_ajax_load_posts_by_ajax_snp', 'load_posts_by_ajax_callback_snp');
add_action('wp_ajax_nopriv_load_posts_by_ajax_snp', 'load_posts_by_ajax_callback_snp');
functions.php中有以下函数
<?php
function load_posts_by_ajax_callback_snp() {
check_ajax_referer('load_more_posts_snp', 'security');
$paged_snp= $_POST['page'];
$args_snp = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => '16',
'cat' => '70',
'paged' => $paged_snp,
);
$my_posts_snp = new WP_Query( $args_snp );
if ( $my_posts_snp->have_posts() ) : ?>
<?php while ( $my_posts_snp->have_posts() ) : $my_posts_snp->the_post() ?>
<?php
echo "<div>";
Content
echo "</div>";
?>
<?php endwhile ?>
<?php endif; ?>
<?php wp_die();
}
?>
我正在使用以下脚本在页面 page-custom-template.php 上调用帖子
<div class="loadmore" style="text-align:center;font-size:1.4em;color:#4a235a;padding:1% 0 1% 0;font-weight:900;">
<button id="lmb" type="button" style="background-color: #f44336;width:98%;border-radius:6px;border:2px solid #4a235a;outline:none;"><span id="lmp">Load More Posts</span><span id="lng" style="display:none;">Loading </span><img id="loader" src="http://www.nvidia.com/docs/IO/151309/loader.gif" width="25em;" height="25em;" id="lmi" style="display:none;"></button>
</div>
<script type="text/javascript">
var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' ); ?>";
var page = 2;
jQuery(function($) {
$('body').on('click', '.loadmore', function() {
var data = {
'action': 'load_posts_by_ajax_snp',
'page': page,
'security': '<?php echo wp_create_nonce("load_more_posts_snp"); ?>'
};
$.post(ajaxurl, data, function(response) {
$('.my-posts').append(response);
page++;
});
});
});
</script>
如何使它对非订阅者和未登录的会员完美运行?
【问题讨论】:
-
您能否对
<?php echo admin_url( 'admin-ajax.php' ); ?>部分进行硬编码。我猜这部分是“”非登录用户 -
我不可能对那部分进行硬编码。
-
函数不 ping 时的输出是什么。检查您的控制台并让它共享。
-
这是我收到的错误 XML Parsing Error: no root element found Location: src/wp-admin/admin-ajax.php Line Number 1, Column 1:
标签: jquery ajax wordpress function user-defined-functions