Ich habe einen Abschnitt in einer Seitenvorlage in dem von mir erstellten Thema, in dem Inhalte basierend auf einer Seite angezeigt werden, die der Benutzer im Customizer mithilfe des Dropdown-Seiten-Steuerelements auswählt. Im Moment wird nur der Standard-Standard-Aktualisierungstransport verwendet, aber da dies das Umladen des gesamten Iframes schwierig macht, habe ich mich gefragt, ob es möglich ist, die neue selektive Aktualisierungsfunktion zu verwenden. Aber ich bin mir nicht sicher, wie ich es umsetzen soll. Weiß jemand, ob dies möglich ist und wenn ja, wie es geht?
Hier ist der Code in meiner Seitenvorlage, der den Inhalt anzeigt:
<?php if ((get_theme_mod( 'intro_page' )) != '') {
$intro_id = get_theme_mod( 'intro_page' );
$intro_header = get_the_title( $intro_id );
$intro_excerpt = get_the_excerpt( $intro_id );
$intro_link = get_the_permalink( $intro_id );
$intro_linktext = get_post_meta( $intro_id, 'emm_cta_text', true );
echo '<h1>' . esc_html($intro_header) . '</h1>' . '<p>' . esc_html($intro_excerpt) . '</p>';
if( ! get_post_meta( $intro_id, 'emm_cta_text', true ) ) {
echo '<p><a class="cta" href="' . esc_url($intro_link) . '">Learn More</a></p>';
}else{
echo '<p><a class="cta" href="' . esc_url($intro_link) . '">' . esc_html($intro_linktext) . '</a></p>';
}
} ?>
Hier ist der Code für die Einstellung im Customizer:
$wp_customize->add_setting( 'intro_page' , array(
'sanitize_callback' => 'absint',
) );
$wp_customize->add_control( 'intro_page', array(
'label' => __( 'Page to use for intro section', 'veritas' ),
'section' => 'intro',
'settings' => 'intro_page',
'type' => 'dropdown-pages',
'priority' => 1
) );
quelle
fallback_refresh
Kommentar: „verhindert konstante Refresh wenn Dokument .cta-wrap enthält keine Wähler“. Der Fehler beim unendlichen Nachladen sollte in 4.7-RC1 behoben sein.customize-preview.js
? Es sieht so aus, als würde der Inhalt des Elements auf die Seiten-ID gesetzt. Sollte die selektive Aktualisierung nicht stattdessen alles für Sie erledigen, sodass diese JS-Datei überhaupt nicht benötigt wird?customize-preview.js
dass es auch unnötig ist, also habe ich es aus der Antwort entfernt.