J'essaie d'utiliser des onglets jquery ui avec des appels ajax pour exécuter une fonction. Voici le code que j'utilise:
function ajax_load_user_feed(){
if(isset($_GET['type'])) $type = $_GET['type'];
if(isset($_GET['userid'])) $userid = $_GET['userid'];
if(!$type && !$userid){
$type = 'error';
show_feed($type);
die();
} else {
$user_info = get_userdata($userid);
show_feed($type, $user_info);
die();
}
}
add_action('wp_ajax_load_user_feed', 'ajax_load_user_feed');
function show_feed($type, $user){
if($type == 'rss'){
echo '<div>Show rss Feed</div>';
} elseif($type == 'Twitter'){
echo '<div>Show Twitter Feed</div>';
} elseif($type == 'facebook'){
echo '<div>Show Facebook Feed</div>';
} elseif($type == 'error'){
echo '<div class="feed_error">Something is wrong with the request!</div>';
}
}
Le code HTML pour les onglets jqurey ui:
<div class="tabs">
<ul id="social-media-activity-button" class="tabs">
<?php if($author->feeds): ?>
<li class="activity-blogs"><a title="activity_feed" href="<?php bloginfo('wpurl'); ?>/wp-admin/admin-ajax.php?action=load_user_feed&type=rss&userid=<?php echo $author->ID; ?>">Blogs</a></li>
<?php endif; if($author->Twitter): ?>
<li class="activity-Twitter"><a title="activity_feed" href="<?php bloginfo('wpurl'); ?>/wp-admin/admin-ajax.php?action=load_user_feed&type=Twitter&userid=<?php echo $author->ID; ?>">Twitter</a></li>
<?php endif; if($author->facebook): ?>
<li class="activity-facebook"><a title="activity_feed" href="<?php bloginfo('wpurl'); ?>/wp-admin/admin-ajax.php?action=load_user_feed&type=facebook&userid=<?php echo $author->ID; ?>">Facebook</a></li>
<?php endif; ?>
</ul>
<h2 class="dotted">Activity Feed</h2>
<div id="activity_feed">
</div>
Ce que j'essaie de faire ici appelle un fichier admin-ajax.php pour appeler la fonction load_user_feed();
.
Maintenant, le code ne fonctionne que pour les utilisateurs connectés. Je veux dire lorsque les utilisateurs connectés dans le voir les flux, mais les utilisateurs déconnectés voient que -1
en sortie. Voici la page: http://citystir.com/author/designdons/
Il doit y avoir un bon moyen d’appeler ajax avec jquery ui tabs.
En attente de votre aide. Merci!
Votre crochet ajax
add_action('wp_ajax_load_user_feed', 'ajax_load_user_feed');
est réservé aux utilisateurs connectés. Si vous ne voulez pas d'utilisateurs connectés (invités ou visiteurs), ajoutez:
add_action('wp_ajax_nopriv_load_user_feed', 'ajax_load_user_feed');
et ça devrait aller.