Rumah > Soal Jawab > teks badan
Saya sedang mencari cara untuk menyambungkan Widget Catatan Elementor untuk memaparkan teg H2 tambahan di bawah tajuk siaran setiap siaran.
Saya kemudiannya akan mendapat nilai H2 ini daripada medan single post ACF.
Daripada perkara lain yang saya baca, terdapat cara untuk mendapatkan keseluruhan HTML keluaran sebagai rentetan, tetapi ini memerlukan banyak penggantian rentetan, jadi ia tidak begitu kalis pada masa hadapan. Sebagai contoh: Sambung ke widget elemen? https://developers.elementor.com/docs/hooks/render-widget-content/
Jika saya menggunakan kod seperti ini, adakah cara untuk menggantungnya di belakang tajuk siaran? Atau adakah penggantian rentetan cara terbaik untuk menyelesaikan masalah ini?
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 );
Saya menghargai semua bantuan. Terima kasih
P粉7060387412023-12-14 09:25:51
Jika anda menggali kod sumber Elementor Pro, anda akan mendapat petua yang hebat: Teg Dinamik -> Modul ACF
get_queried_object()
Atau cuba ini: Label Dinamik -> Rendering Modul 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; }
atau hanya gunakan get_field('my-field')
dan bukannya $post_id