J'ai une section dans un modèle de page dans le thème que je crée qui affiche du contenu basé sur une page que l'utilisateur sélectionne dans le personnalisateur à l'aide du contrôle des pages déroulantes. En ce moment, il utilise simplement le transport de rafraîchissement par défaut standard, mais comme c'est une sorte de rechargement maladroit de l'ensemble de l'iframe, je me demandais s'il était possible d'utiliser la nouvelle fonctionnalité de rafraîchissement sélectif. Mais je ne sais pas comment le mettre en œuvre. Quelqu'un sait si c'est possible et si oui, comment le faire?
Voici le code de mon modèle de page qui affiche le contenu:
<?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>';
}
} ?>
Voici le code du paramètre dans le personnaliseur:
$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
) );
la source
fallback_refresh
commentaire: "empêche l'actualisation constante lorsque le document ne contient pas de sélecteur .cta-wrap". Le bug avec le rechargement infini devrait être corrigé dans 4.7-RC1.customize-preview.js
? Il semble que le contenu de l'élément soit défini sur l'ID de page? Le rafraîchissement sélectif ne devrait-il pas gérer tout cela pour vous à la place et il n'y a donc pas du tout besoin de ce fichier JS?customize-preview.js
être inutile aussi, donc je l'ai supprimé de la réponse.