web-dev-qa-db-fra.com

Sélecteur de format de message dans la classe de thème thématique enfant

J'ai beaucoup de difficulté à implémenter les formats de publication dans mon thème thématique pour enfants. Je suis en mesure d'ajouter un support de thème de format post et d'ajouter du contenu via la grande instruction conditionnelle, mais les sélecteurs .format-video, etc. n'apparaissent pas dans la classe post afin que je puisse les utiliser pour styliser les formats.

Selon certains tests en écho, le sélecteur apparaît comme il se doit dans post_class() mais n’est nulle part ailleurs dans thematic_post_class(). J'ai essayé d'enlever thematic_post_class() pour laisser post_class() fonctionner à la place:

// remove thematic_post_class to include post format selector in post class
function childtheme_override_post_class() {
     remove_action('thematic_post_class','thematic_access', 9);
}
add_action('init', 'childtheme_override_post_class');

Avec cette fonction, thematic_post_class() ne fait plus écho, mais le thème n'enregistre toujours pas les sélecteurs de format. J'ai vu dans un autre article que le crochet d'action after_setup_theme fonctionnait pour activer les formats dans un enfant de Twenty-Ten. J'essayais cela dans mon thème, mais cela ne faisait aucune différence:

function wpfolio_add_format_support() {
    add_theme_support( 'post-formats', array( 'aside', 'gallery', 'video', 'link', 'image', 'quote') );
}
add_action('after_setup_theme', 'wpfolio_add_format_support', 11);`

Des idées? Merci d'avance

3
laras126

Ok, je pars du principe que la vraie question est "comment puis-je utiliser Thematic pour ajouter le post-format à ses classes de corps?"

Essayez ceci dans votre functions.php:

function my_thematic_post_format_class( $classes = array() ) {
  $format = get_post_format();
  if ( '' == $format )
    $format = 'standard';

  $classes[] = 'format-' . $format;

  return $classes;
}

add_filter( 'post_class', 'my_thematic_post_format_class' );

Ne remplacez pas les fonctions thématiques post-classe. Ajoutez simplement ce filtre, et vous devriez être bon.

1
Dougal Campbell