Einbinden in das Posts-Widget in Elementor
P粉268654873
P粉268654873 2023-12-13 13:29:31
0
1
730

Ich suche nach einer Möglichkeit, das Elementor-Beitrags-Widget zu verbinden, um unter dem Beitragstitel jedes Beitrags einen zusätzlichen H2-Tag anzuzeigen.

Diesen H2-Wert erhalte ich dann aus dem Single-Post-ACF-Feld.

Aus anderen Dingen, die ich gelesen habe, gibt es Möglichkeiten, den gesamten HTML-Code der Ausgabe als String zu erhalten, aber das erfordert viel String-Ersetzung und ist daher nicht sehr zukunftssicher. Zum Beispiel: In Elementor-Widget einbinden? https://developers.elementor.com/docs/hooks/render-widget-content/

Wenn ich Code wie diesen verwende, gibt es eine Möglichkeit, ihn hinter den Beitragstitel zu hängen? Oder ist der Austausch von Saiten der beste Weg, dieses Problem zu lösen?

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 );

Ich bin für jede Hilfe dankbar. Danke

P粉268654873
P粉268654873

Antworte allen(1)
P粉706038741

如果您深入研究 Elementor Pro 源代码,您会发现一个很好的提示: 动态标签 -> ACF 模块

get_queried_object()

或者试试这个: 动态标签 -> 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;
    }

或者只使用 get_field('my-field') 而不使用 $post_id

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage