Wie füge ich Edit Shortcut Icon in WordPress ohne selektive Refresh hinzu

Ich entwickle ein Thema, und ich frage mich, ob ich dort eine visuelle Abkürzung ohne selektive Aktualisierung hinzufügen kann?

$wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->selective_refresh->add_partial( 'blogname', array( 'selector' => '.site-title a', 'render_callback' => 'twentyfifteen_customize_partial_blogname', ) ); 

Kann ich es tun?

 $wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; $wp_customize->add_partial( 'blogname', array( 'selector' => '.site-title a', 'render_callback' => 'twentyfifteen_customize_partial_blogname', ) ); 

Eigentlich funktioniert es und gibt das gewünschte Ergebnis .. aber ich benutze Kirki als meinen Rahmen und aus irgendeinem Grund kann ich es nicht tun. Ich möchte nur nicht die Standard-selektive Aktualisierung verwenden, ich möchte meine eigene Javascript-function mit PostMessage verwenden und ich bin nicht in der Lage, das Selektor-Tag hier zu implementieren.

Hier ist mein Code:

 Kirki::add_field( 'theme_config', array( 'type' => 'text', 'settings' => 'about_us_video_setting', 'label' => __( 'Video Link', 'rst' ), 'section' => 'about_us_section', 'default' => esc_attr__( 'youtube.com', 'rst' ), 'transport' => 'postMessage', 'partial_refresh' => array( 'about_us_video_setting' => array( 'selector' => '#youtube-video', 'render_callback' => 'show_video', ) ), 'active_callback' => array( array( 'setting' => 'is_front_page', 'operator' => '==', 'value' => true, ), ), ) ); 

was ich will ist

 Kirki::add_field( 'theme_config', array( 'type' => 'text', 'settings' => 'about_us_video_setting', 'label' => __( 'Video Link', 'rst' ), 'section' => 'about_us_section', 'default' => esc_attr__( 'youtube.com', 'rst' ), 'transport' => 'postMessage', 'selector' => '#youtube-video', 'active_callback' => array( array( 'setting' => 'is_front_page', 'operator' => '==', 'value' => true, ), ), ) ); 

Ist das .. als auch wenn ich Transport als postMessage was gibt, ist nur Standard-Aktualisierung anstelle von meinem eigenen Javascript, das ist

 ( function( $ ) { // Change the previewed URL to the selected page when changing the page_for_posts. wp.customize( 'about_us_video_setting', function( setting ) { setting.bind( function( url ) { $('.embed-responsive-item').attr('src',url); }); }); } )( jQuery ); 

Ich möchte nur klarstellen, da ich keine Dokumentation gefunden habe. Ist es ein Kriterium, eine selektive Aktualisierung zu verwenden, um Editier-Shorcuts anzuzeigen?

von Edit Shorcuts meine ich dieses Bleistift-Symbol Bildbeschreibung hier eingeben was Sie zum gewünschten Ort zum Bearbeiten bringt.

Solutions Collecting From Web of "Wie füge ich Edit Shortcut Icon in WordPress ohne selektive Refresh hinzu"

Es gibt eine einfache Möglichkeit, dies zu tun, indem Sie __return_false verwenden . Der Nachteil ist, dass Sie eine doppelte Aktualisierung erhalten, da es nach einer partiellen Prüfung sucht und dann “false” zurückgibt, was zu einer vollständigen Aktualisierung führt. Dies ist problematisch, wenn Sie nur Javascript verwenden, um eine “Echtzeit” Vorschau anzuzeigen. In diesem Fall müssten Sie mit Weston Reuters Lösung gehen.

Wenn Sie eine postMessage-Vorschau nicht verwenden und die Verknüpfung nur angezeigt werden soll, ist dies keine große Sache, da Sie ohnehin die vollständige Aktualisierung benötigen.

Ich bin mir nicht sicher, warum sie diese partiellen Bearbeitungsabkürzungen nicht für diejenigen, die nur Javascript verwenden, eingebaut haben.

In kirki:

 'transport' => 'postMessage', 'partial_refresh' => array( 'about_us_video_setting' => array( 'selector' => '#youtube-video', 'render_callback' => '__return_false' ) ) 

Standard:

 $wp_customize->get_setting( 'about_us_video_setting' )->transport = 'postMessage'; $wp_customize->selective_refresh->add_partial( 'about_us_video_setting', array( 'selector' => '#youtube-video', 'render_callback' => '__return_false', ) ); 

Sie können wp.customize.selectiveRefresh.Partial in JavaScript erweitern, um einen benutzerdefinierten wp.customize.selectiveRefresh.Partial zu erstellen, der das refresh überschreibt, um eine JS-basierte Live-Vorschau anzuwenden, anstatt einen Ajax-Aufruf wp.customize.selectiveRefresh.Partial , um eine teilweise wp.customize.selectiveRefresh.Partial .

Sie können auf ein Beispiel im Meta- Plugin ” Widget-Seitenleiste sidebar_meta_background_color verweisen, insbesondere auf den sidebar_meta_background_color .

Wenn Sie Partials mit diesem Typ sidebar_meta_background_color registrieren, verwenden sie diese JS-Unterklasse mit der überschriebenen refresh Methode.