Accrocher une fonction à la barre latérale?

4

Je cherche un moyen d'ajouter du contenu en haut de la barre latérale lorsqu'il est chargé.

J'ai essayé de m'accrocher à l'action get_sidebar en tant que référencée ici , mais cela semble annuler l'appel et le chargement de la barre latérale. ma fonction à la place? Y a-t-il une meilleure solution pour ce faire en plus de la création de widgets? J'aimerais éviter cela si possible, mais je ne suis pas totalement contre l'idée, un crochet serait mieux:)

Voici à quoi ressemble mon crochet: add_action('get_sidebar', 'social_links');

Remarque: la fonction appelée ne fait que cracher une liste de liens de réseaux sociaux, rien de trop compliqué ...

(Exécution locale de la dernière version (3.1) sur un serveur MAMP)

    
posée Cole 19.03.2011 - 22:09

3 réponses

3

Charger en bas de la barre latérale

Dans la plupart des barres latérales, vous trouverez l'appel du crochet d’action wp_meta() , auquel vous pouvez raccrocher. dans le bas (principalement en bas) d'une barre latérale.

Chargez en haut de votre barre latérale

La fonction get_sidebar( $name ) appelle la barre latérale de votre modèle (cela permet d’avoir différentes barres latérales). Si vous voulez ajouter des choses à par exemple. En haut de votre barre latérale, vous êtes libre d'utiliser le crochet d'action interne situé en haut de votre barre latérale, juste avant que la barre latérale ne soit chargée. Vous pouvez alors tout relier à cet appel.

Exemple:

function add_before_my_siderbar( $name ) 
{
    echo "Loaded on top of the {$name}-sidebar";

    // Example that uses the $name of the sidebar as switch/trigger
    'main' === $name AND print "I'm picky and only echo for special sidebars!";
}
add_action( 'get_sidebar', 'add_before_my_siderbar' );

Notes sur les thèmes

Le get_sidebar -hook se trouve au-dessus de la fonction get_sidebar() et se déclenche avant que le fichier de la barre latérale ne soit inclus. Cela signifie que vous devez utiliser ce crochet pour ajouter du contenu avant et wp_meta() pour ajouter quelque chose après dans la barre latérale. Si un thème utilise wp_meta() avant la fin du modèle de barre latérale, il ne le fait pas correctement.

    
réponse donnée kaiser 20.03.2011 - 04:03
2

get_sidebar hook est appelé dans la fonction qui récupère le fichier de modèle de la barre latérale, ce qui n'est pas la bonne solution.

si vous n'êtes pas prêt à créer un widget, vous pouvez convertir votre fonction en un shortcode et l'utiliser dans le widget de texte intégré.

Comment? , vous dites que votre fonction s'appelle social_links , puis ajoutez:

add_shortcode('SL', 'social_links'); 
// and to make sure Wordpress calls shortcode in sidebars
add_filter('widget_text', 'do_shortcode');

Utilisation? encore une fois, ajoutez un widget texte et mettez-y [SL] .

Assurez-vous simplement que votre fonction renvoie la sortie au lieu de la répercuter.

    
réponse donnée Bainternet 19.03.2011 - 23:16
0

Au lieu de revenir sur wp_metahook, rappelez l'exemple de résultat:

add_action('wp_meta','my_function')

function my_function(){
   //no return 'hello';
   //try this and it will shows at the top of the sidebar
   echo 'hello';
}

Voir: accrochage wp_meta sur le Codex

.     
réponse donnée jepser 16.03.2012 - 06:15

Lire d'autres questions sur les étiquettes