generate_element_display
Filtrul generate_element_display ne permite să ocolim regulile de afișare, astfel încât să putem activa sau dezactiva un element în propriile noastre condiții.
Acest filtru înlocuiește generarea anterioară generate_header_element_display, generate_hook_element_display și generate_layout_element_display.
Afișați un Element unui Anumit Autor
De exemplu, dacă vrem să atribuim un anumit element numai Autorului Tom:
add_filter( 'generate_element_display', function( $display, $element_id ) { if ( 100 === $element_id && is_author( 'Tom' ) ) { $display = true; } return $display; }, 10, 2 );
Trebuie să înlocuiți 100 cu ID-ul elementului dvs.
Afișați un Element Într-o Pagină Părinte și în Toate Paginile Secundare
Un alt exemplu util este să setați hook să se afișeze automat pe pagina părinte și pe toate paginile secundare:
add_filter( 'generate_element_display', function( $display, $element_id ) { global $post; if ( 1180 === $element_id && ( is_page() && $post->post_parent == '415' ) ) { $display = true; } return $display; }, 10, 2 );
Trebuie să înlocuiți 1180 cu ID-ul elementului dvs. și 415 cu ID-ul paginii părinte.
Afișați un Element Numai pe Prima Pagină a Arhivelor
O altă solicitare pe care o primim din când în când este să arătăm eroul paginii numai pe prima arhivă sau pe pagina de postări și să o dezactivăm pentru a doua și următoarele pagini de postări. Acest lucru se poate face cu fragmentul de mai jos:
add_filter( 'generate_element_display', function( $display, $element_id ) { if ( 100 === $element_id && is_paged() ) { $display = false; } return $display; }, 10, 2 );
Trebuie să înlocuiți 100 cu ID-ul elementului dvs.
Eliminați un Element Când nu este Încărcată Nicio Imagine Recomandată
Dacă doriți să eliminați automat un Page Hero cu element de bloc când nu este încărcată nicio imagine prezentată în loc să utilizați manual regulile de afișare, acest fragment poate fi folosit:
add_filter( 'generate_element_display', function( $display, $element_id ) { if ( 100 === $element_id ) { if ( ! has_post_thumbnail() ) { $display = false; } } return $display; }, 10, 2 );
Trebuie să înlocuiți 100 cu ID-ul elementului dvs.