Пожалуйста, ребята, я почти закончил .. Мне действительно нужна ваша помощь.
Я использую плагин " Users Follow System ".И я добавил список следующих / последователей пользователей в профиль author.php
, теперь я пытаюсь использовать для этого 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);
Ajax Pagination теперь работает, но у меня все ещета же проблема, когда я нажимаю загрузить больше, я получаю следующих пользователей администратора на всех страницах профиля пользователей!Это должно выявить следующих пользователей каждого автора: (
Это то, что я сделал в author.php, чтобы получить список следующих пользователей каждого автора.
<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>
И этоявляется function.php действия вызова Ajax.
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();
}
}
Итак, как теперь я могу получить следующих пользователей каждого автора, и почему я получил администратора, который следит за пользователями вместо их пользователей?