web-dev-qa-db-fra.com

Ajouter jquery et thickbox au thème WordPress

Je voudrais ajouter une boîte à lettres épaisse pour le modèle que je développe pour WordPress. En ce moment, j'essaie avec un modèle vierge qui contient uniquement header.php, footer.php, index.php et functions.php.

J'ai inclus la <?php wp_head(); ?> dans header.php et la <?php wp_footer(); ?> dans footer.php.

J'ai inclus le wp_head comme ceci:

<?php
wp_enqueue_script('jquery');
wp_enqueue_script('thickbox');
wp_enqueue_style('thickbox');
wp_head();
?>

J'ai changé les classes de liens de la galerie en thickbox avec ce code dans functions.php

<?php add_filter( 'wp_get_attachment_link', 'sant_prettyadd');

function sant_prettyadd ($content) {
    $content = preg_replace("/<a/","<a class=\"thickbox[slides]\"",$content,1);
    return $content;
}
?>

Lorsque je clique sur une image de galerie, celle-ci devrait s'ouvrir avec une boîte épaisse mais ouvrira uniquement le fichier image.

4
Danny Style

Vous devez utiliser wp_enqueue_script function (dans votre fichier functions.php) pour appeler les scripts appropriés dont vous avez besoin. Il permet à la fois les bibliothèques intégrées et d'ajouter toute personnalisation que vous incluez dans votre thème.

0
Norcross

Tout ce que vous avez à faire est un simple appel dans votre functions.php:

add_action( 'wp_enqueue_scripts', 'add_thickbox' );

C'est tout. WordPress va maintenant mettre en file d'attente jQuery et le script thickbox. Par défaut, les images liées ne sont pas encore épaisses. Tu dois:

  1. Ajoutez une classe thickbox aux liens manuellement/par PHP, ou
  2. Utilisez un second script pour ajouter ces classes automatiquement.

Exemple de code pour footer.php:

<script>
jQuery('a img.size-medium').parent().addClass('thickbox').attr('rel', 'page');
</script>
<?php
wp_footer();

Ce code ajoute la classe thickbox à tous les liens autour des images de taille moyenne et les regroupe pour activer les liens de navigation suivant/précédent.

Maintenant vous avez une base de base avec les liens de navigation traduits:

enter image description here

Comme il s’agit d’un script géré par le noyau, c’est pas clavier convivial: les touches fléchées ne font rien. Si vous avez besoin d'une solution plus utilisable, prenez un plugin.

Autre remarque: Thickbox peut être supprimé tôt ou tard du noyau. Voir Ticket 10955 .

8
fuxia