Se connecter au widget Posts dans Elementor
P粉268654873
P粉268654873 2023-12-13 13:29:31
0
1
726

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粉268654873
P粉268654873

répondre à tous(1)
P粉706038741

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal