Maison > Questions et réponses > le corps du texte
Je cherche un moyen de connecter le widget Elementor Posts pour afficher une balise H2 supplémentaire sous le titre de chaque publication.
J'obtiendrai ensuite cette valeur H2 à partir du champ ACF à publication unique.
D'après d'autres choses que j'ai lues, il existe des moyens d'obtenir l'intégralité du code HTML de la sortie sous forme de chaîne, mais cela nécessite beaucoup de remplacements de chaînes et n'est donc pas très évolutif. Par exemple: Vous connecter au widget Elementor ? https://developers.elementor.com/docs/hooks/render-widget-content/
Si j'utilise un code comme celui-ci, existe-t-il un moyen de l'accrocher derrière le titre du message ? Ou le remplacement des chaînes est-il le meilleur moyen de résoudre ce problème ?
function change_heading_widget_content( $widget_content, $widget ) { if ( 'posts' === $widget->get_name() ) { $settings = $widget->get_settings(); $post_id = "Somehow get the post id (maybe look for in the $widget_content string per post?)"; if ( ! empty( $settings['link']['is_external'] ) ) { $widget_content .= '<h2>'. get_field("extra_heading", $post_id) .'<h2>'; } } return $widget_content; } add_filter( 'elementor/widget/render_content', 'change_heading_widget_content', 10, 2 );
J'apprécie toute l'aide. Merci
P粉7060387412023-12-14 09:25:51
Si vous fouillez dans le code source d’Elementor Pro, vous trouverez une astuce intéressante : Balises dynamiques -> Module ACF
get_queried_object()
Ou essayez ceci : Étiquette dynamique -> Rendu du module ACF
function get_queried_object_meta( $meta_key ) { $value = ''; if ( is_singular() ) { $value = get_post_meta( get_the_ID(), $meta_key, true ); } elseif ( is_tax() || is_category() || is_tag() ) { $value = get_term_meta( get_queried_object_id(), $meta_key, true ); } return $value; }
ou utilisez simplement get_field('my-field')
au lieu de $post_id