У темі, яку я створюю, у мене є розділ у шаблоні сторінки, який відображає вміст на основі сторінки, яку користувач вибирає у налаштуваннях за допомогою керування спадними сторінками. Наразі він просто використовує стандартний транспорт оновлення за замовчуванням, але оскільки це щось незграбне перезавантаження всього iframe, мені було цікаво, чи можна використовувати нову функцію селективного оновлення. Але я не впевнений, як це здійснити. Хтось знає, чи це можливо і якщо так, як це зробити?
Ось код у шаблоні моєї сторінки, який відображає вміст:
<?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>';
}
} ?>
Ось код для налаштування у налаштуваннях:
$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
) );