在functions.php中查询函数?

在functions.php中查询函数?,php,javascript,jquery,wordpress,Php,Javascript,Jquery,Wordpress,我有一个jQuery代码,它将在用户接近页面底部时进行检查。但这不是问题所在。这个jQuery将发送一个AJAX请求,给出当用户接近页面底部时要加载什么的一些细节。代码目前看起来有点像这样: $("<div>").load('?ajax=y&offset=something', function() { $(".empty-div").append($(this)); setTimeout(function(){ console.log('after',

我有一个jQuery代码,它将在用户接近页面底部时进行检查。但这不是问题所在。这个jQuery将发送一个AJAX请求,给出当用户接近页面底部时要加载什么的一些细节。代码目前看起来有点像这样:

$("<div>").load('?ajax=y&offset=something', function() {

    $(".empty-div").append($(this));

    setTimeout(function(){ console.log('after', $(document).height()); }, 0);
    setTimeout(function(){ console.log('after', $(window).height()); }, 0);


});

我知道wordpress有
add_action
以及所有这些功能,但我不知道我会将什么作为一个动作应用到这两个函数中,以使PHP接收Javascript发送的数据。是否存在解析所有函数的URL或其他内容?提前谢谢你的帮助。那么,如何将数据从Javascript获取到我的主题目录functions.PHP中的PHP函数?

您试图从Javascript调用PHP函数,对吗

在调用
get\u posts\u page()
的某些页面上需要一些逻辑。您可以创建一个新页面
getPostsPage.php?offset=
,或者您可以在
functions.php
中添加一些逻辑,比如 if(isset($_GET['function']) { switch($_GET['function']) { case 'get_posts_page': get_posts_page(); } }
如果未设置“偏移量”或其他任何设置,请记住优雅地失败(不要暴露错误消息)。

我刚刚制作了一个视频,向您展示如何使用WordPress中的
添加操作请求。你可以

这是我的javascript

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script>

$('#branding img').click(function() {

  $.post('<?php bloginfo('siteurl') ?>/wp-admin/admin-ajax.php', {
    action: 'my_unique_action',
    offset: 5
  }, function(data) {
    $('#content').prepend('<p>' + data + '</p>');
  });

});


</script>

参考资料:

请参阅@Baylor Rae的答案,因为这是使用WordPress实现AJAX的标准方法,如果您使用标准方法,那么您需要处理太多自动的事情(如安全性)。 // getPostsPage.php require PATH . 'functions.php'; get_posts_page(); //checks $_GET['offset']
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script>

$('#branding img').click(function() {

  $.post('<?php bloginfo('siteurl') ?>/wp-admin/admin-ajax.php', {
    action: 'my_unique_action',
    offset: 5
  }, function(data) {
    $('#content').prepend('<p>' + data + '</p>');
  });

});


</script>
// Make sure it runs when the user is logged in,
// and when they are not.
add_action('wp_ajax_my_unique_action', 'get_offset');
add_action('wp_ajax_nopriv_my_unique_action', 'get_offset');

function get_offset() {
  if( isset($_POST['offset']) ) {
    echo 'Your ajax request was successful. Here was your offset: <strong>' . $_POST['offset'] . '</strong>';
  }

  die;
}