我正在尋找一種方法來連接 Elementor Posts Widget,以便在每個帖子的帖子標題下顯示額外的 H2 標簽。
然后我將從單個帖子 ACF 字段中獲取此 H2 值。
從我讀到的其他內(nèi)容來看,有一些方法可以將輸出的整個 HTML 作為字符串獲取,但這需要大量的字符串替換,因此不太適合未來。例如: 掛鉤到 elementor 小部件嗎? https://developers.elementor.com/docs/hooks/render-widget-content/
如果我使用這樣的代碼,有沒有辦法將其掛在帖子標題后面?或者字符串替換是解決這個問題的最佳方法?
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 );
我感謝所有的幫助。 謝謝
如果您深入研究 Elementor Pro 源代碼,您會發(fā)現(xiàn)一個很好的提示: 動態(tài)標簽 -> ACF 模塊
get_queried_object()
或者試試這個: 動態(tài)標簽 -> 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