Heim > Fragen und Antworten > Hauptteil
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粉7060387412023-12-14 09:25:51
如果您深入研究 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