我会尽量说清楚的,我在用“Users Following System“插件。我在author.php
profile,现在我尝试使用Ajax分页。
当然是author.php
我用这条线来获取用户信息。
<?php
$curauth = (isset($_GET[\'author_name\'])) ? get_user_by(\'slug\', $author_name) : get_userdata(intval($author));
?>
这一行用来获取的用户元_pwuf_following
$include = get_user_meta($curauth->ID, \'_pwuf_following\', true);
UPDATE 1 Ajax分页现在正在工作,但我仍然有同样的问题,当我单击“加载更多”时,我得到了以下管理员用户!!它应该为每个作者提供以下用户:(
这就是我在《作者》中所做的。php可以像@user141080那样获取以下用户列表。
<div id="following">
<div class="following-cont">
<?php
$include = get_user_meta($curauth->ID, \'_pwuf_following\', true);
if ( empty( $include ) ) {
echo \'Not followed anyone yet.\';
} else {
$args = array (
\'order\' => \'DESC\',
\'include\' => $include,
\'number\' => \'6\',
\'paged\' => 1
);
$wp_user_query = new WP_User_Query( $args );
$users = $wp_user_query->get_results();
echo \'<div id="top-artists-contributors-3">\';
echo \'<ul id="grid-contributors-4">\';
echo \'<li class="scroll-artists">\';
foreach ( $users as $user ) {
$avatar_size = 90;
$avatar = get_avatar($user->user_email, 200);
$author_profile_url = get_author_posts_url($user->ID);
$profile = get_userdata($user->ID);
echo \'<div class="single-item-3">\';
echo \'<div class="author-gravatar-3"><a href="\', $author_profile_url, \'">\', $avatar , \'</a></div>\';
echo \'<div class="members-name"><a href="\', $author_profile_url, \'">\' . $profile->first_name .\'</a></div>\';
echo \'</div>\';
}
echo \'</li>\';
echo \'</ul>\';
echo \'</div>\';
}
?>
</div><!-- #following -->
<div class="loadmore">More</div>
<?php
// The variables tmp_author_name and tmp_author serve only as temporary storage.
// They controls how the data should be determined on the server.
$tmp_author_name = \'\';
$tmp_author = 0;
if( isset($_GET[\'author_name\']) )
{
$tmp_author_name = $author_name;
}
else
{
$tmp_author = intval($author);
}
?>
<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\': \'user_following_by_ajax\',
\'page\': page,
\'security\': \'<?php echo wp_create_nonce("user_more_following"); ?>\',
\'author_name\': \'<?php echo esc_html($tmp_author_name); ?>\',
\'author\': \'<?php echo esc_html($tmp_author); ?>\'
};
$.post(ajaxurl, data, function(response) {
$(\'.following-cont\').append(response);
page++;
});
});
});
</script>
</div>
功能。Ajax操作的php。add_action(\'wp_ajax_user_following_by_ajax\', \'user_following_by_ajax_callback\');
add_action(\'wp_ajax_nopriv_user_following_by_ajax\', \'user_following_by_ajax_callback\');
function user_following_by_ajax_callback() {
check_ajax_referer(\'user_more_following\', \'security\');
$paged = $_POST[\'page\'];
$curauth = NULL;
if( isset($_POST[\'author_name\']) AND trim($_POST[\'author_name\']) != \'\' )
{
$curauth = get_user_by(\'slug\', trim($_POST[\'author_name\']) );
}
elseif( isset($_POST[\'author\']) AND intval($_POST[\'author\']) > 0 )
{
$curauth = get_userdata(intval($_POST[\'author\']));
}
if( !is_null($curauth) ) {
$include = get_user_meta($curauth->ID, \'_pwuf_following\', true);
if ( empty( $include ) ) {
echo \'Not followed anyone yet.\';
} else {
$args = array (
\'order\' => \'DESC\',
\'include\' => $include,
\'number\' => 6,
\'paged\' => $paged
);
$wp_user_query = new WP_User_Query( $args );
$users = $wp_user_query->get_results();
echo \'<div id="top-artists-contributors-3">\';
echo \'<ul id="grid-contributors-4">\';
echo \'<li class="scroll-artists">\';
foreach ( $users as $user ) {
$avatar_size = 90;
$avatar = get_avatar($user->user_email, 200);
$author_profile_url = get_author_posts_url($user->ID);
$profile = get_userdata($user->ID);
echo \'<div class="single-item-3">\';
echo \'<div class="author-gravatar-3"><a href="\', $author_profile_url, \'">\', $avatar , \'</a></div>\';
echo \'<div class="members-name"><a href="\', $author_profile_url, \'">\' . $profile->first_name .\'</a></div>\';
echo \'</div>\';
}
echo \'</li>\';
echo \'</ul>\';
echo \'</div>\';
}
wp_die();
}
}
那么现在我如何获得每个作者的以下用户,以及为什么我让管理员跟踪用户而不是他们的用户?