首先,我认为这是一个漫长的尝试,但希望有人可以提供帮助。
为了解释当前情况,目前,我有一个自定义插件,可以获取有关用户及其最新4条帖子的各种信息。
我也在使用WPBook插件(所以这是在facebook上,只是一个典型的wordpress网站)
好的,这是我的代码,它为用户抓取了4条最新帖子:
// The Query
query_posts('posts_per_page=4&author='.$blogger_id);
// set $more to 0 in order to only get the first part of the post
global $more;
$more = 0;
// the Loop
while (have_posts()) : the_post();
?>
<div class="oe-grid-box">
<a href="<?php the_permalink() ?>" <?php the_title()?></a>
<div class="oe-grid-box-content">
<?php echo the_content( '...' ); ?>
</div>
<div class="oe-grid-pic">
<a href="<?php the_permalink() ?>">
<span class="<?php echo strtolower($category); ?>"></span>
</a>
<?php echo $image; ?>
</div>
</div>
<?php
endwhile;
// Reset Query
wp_reset_query();
?>
<div id="load-more">Load More</div>
我尝试按照本教程进行操作,但没有使用单独的插件,而是将代码放在了现有的插件中,但现在页面无法加载:
http://www.problogdesign.com/wordpress/load-next-wordpress-posts-with-
ajax/
理想情况下,我想要的是单击“加载更多”按钮时,再获取4个帖子并显示它们。
如果有人能帮助我,我将非常感激。
更新
好,
到目前为止,我已经在jQuery中添加了可调用php文件的文件,该文件有望返回帖子,但不起作用。
我认为这是因为它不知道WordPress功能是什么?
如果我echo
在“加载更多”脚本中添加一个简单的脚本,则jQuery成功函数会显示警告,表明它可以正常工作,但是如果我开始做WordPress的工作,则会收到内部服务器错误,这是load-
more.php文件中的代码:
// load wordpress into template
$path = $_SERVER['DOCUMENT_ROOT'];
define('WP_USE_THEMES', false);
require($path .'/wp-load.php');
$blogger_id = $_GET['id'];
$firstname = $_GET['firstname'];
$surname = $_GET['surname'];
$posts = $_GET['posts'] + 4;
$category = $_GET['category'];
$image = $_GET['image'];
// The Query
query_posts('paged='.get_query_var('paged').'&posts_per_page=' . $posts . '&author='.$blogger_id);
// set $more to 0 in order to only get the first part of the post
global $more;
$more = 0;
// then the same loop as in my page that is making the ajax call.
经过大量的努力,我找到了答案,这是为陷入困境的人提供的解决方案。
这进入您的插件页面,您将在其中获取用户的帖子等。
<script type="text/javascript">
$(document).ready(function() {
posts = 8;
author_posts = parseInt(<?php echo $author_posts; ?>);
$("#link_selector").click(function() {
// alert('posts - ' + posts + 'author posts - ' + author_posts);
if ((posts - author_posts) > 3) {
$("#link_selector").text('No more posts!');
}
else {
var category = '<?php echo strtolower($category); ?>';
var id = '<?php echo $blogger_id; ?>';
var firstname = '<?php echo $firstname; ?>';
var surname = '<?php echo $surname; ?>';
// alert(posts + category + id + firstname + surname);
$.ajax({
type: "GET",
url: "/wordpress/wp-admin/admin-ajax.php",
dataType: 'html',
data: ({ action: 'loadMore', id: id, firstname: firstname, surname: surname, posts: posts, category: category}),
success: function(data){
$('#ajax_results_container').hide().fadeIn('slow').html(data);
posts = posts + 4;
if ((posts - author_posts) > 3) {
$("#link_selector").text('No more posts!');
}
}
});
}
});
});
</script>
然后在主题的functions.php中,将函数放入您的ajax请求中:
function loadMore() {
$blogger_id = $_GET['id'];
// get your $_GET variables sorted out
// setup your query to get what you want
query_posts('posts_per_page=' . $posts . '&author='.$blogger_id);
// initialsise your output
$output = '';
// the Loop
while (have_posts()) : the_post();
// define the structure of your posts markup
endwhile;
// Reset Query
wp_reset_query();
die($output);
}
然后,在函数关闭后,放入动作钩子
add_action('wp_ajax_loadMore', 'loadMore');
add_action('wp_ajax_nopriv_loadMore', 'loadMore'); // not really needed
而已!
我必须从自定义帖子类型返回所有帖子,由'start_date'从'ACF字段'。 我有一些有日期的帖子,还有一些没有日期的帖子。当我添加“orderby”时= 这是我的代码: 如果我删掉 我所有的帖子都被退回,但它们不是按开始日期排序的 有什么想法吗? 谢谢。
问题内容: 我浏览了旧的问题,并尝试了许多似乎可以做到的不同方法。我最接近的工作是在这里:如何在自定义WP_QueryAjax上实现分页 我已经尝试了一切,但没有用。页面上没有任何变化。如果您检查并单击“加载更多按钮”,则jQuery会执行“加载更多按钮”操作,因为它从更改为,即使对我来说,这似乎也不对。它并没有添加帖子,我想我缺少一些简单的东西,但是我一生都无法解决。 我的模板文件中的代码是:
我在我的网站上使用WordPress JSON API插件。https://wordpress.org/plugins/json-api/ 我试图通过REST调用通过他们的id检索多个帖子。 例如:http://www.example.org/api/core/get_posts/?posts__in=7742,20715 根据插件留档,get_posts支持WP_QUERY函数的所有参数,因此这
我需要贴标签。我正在为此使用这样的代码: var_dump为tag=blog返回这样的数据 数组(5){["type"]= 并且不显示此标记的任何记录。在DB中存在4条记录。 当然,我可以将此代码用于查看帖子: 但是在这个页面上,我需要显示每页的帖子数量等等。 我不明白为什么WP_Query()在我的代码中不起作用。你能帮我吗? 数组中应该包含哪些属性?我当前的$args不工作:
问题内容: 我想将页面上的一些数据发送到servlet 所以我写了下面的jQuery来做到这一点 我使用所有数据构建一个json字符串,并将其直接发送到servlet 但是我不知道如何从servlet中的ajax获取全部数据 如果查看来自chrome的请求标头的Form Data段 您会看到整个json字符串是关键。 问题答案: 看这里, 您的归属是错误的。它不应该是字符串,而是真实的JSON对象
我试图在一个页面上显示来自两个类别的帖子(6) 我将如何将类别ID“7”添加到该代码中,以使所有内容都像上面解释的那样工作?提前谢谢!