Adiciona conteúdo ao título do widget na área administrativa dentro do widget?

4

É possível adicionar conteúdo (ícone e texto) ao título do widget na área de administração e personalizador com base em outro valor do widget?

Widgets são personalizados e desenvolvidos por mim (não um padrão WP)

O ideal é que ele funcione como bot na área administrativa & personalizador. No frontend, o conteúdo extra é mostrado agora.

Emseguida,ousuárioalteraumaopçãonowidgete,apósosalvamento,mudapara

Consegui isso com o evento JS e .on('widget-updated widget-added') , mas estou procurando uma abordagem mais robusta, pois ela não funciona no personalizador.

    
por Runnick 02.12.2017 / 14:53

3 respostas

1

Você pode adicionar filtro para widget_title hook.

Ou altere o $instance['title'] na atualização.

    
por Moshe Harush 11.12.2017 / 01:17
0

De acordo com meu entendimento, posso sugerir que você pode usar algo como font-awesome. Isso ajudará você a exibir um tipo de coisa de imagem usando uma classe CSS simples.

Então, por favor, verifique minha solução e deixe-me saber sua opinião sobre isso.

    
por user132643 07.12.2017 / 11:56
0

Deixe-me descrever todas as situações.

  1. Sevocêquisermudar"Search" na imagem acima, eu deveria desapontá-lo, você pode olhar em /wp-admin/includes/widgets.php (linha 232) e em qualquer classe de widget (eu abri / wp -inclui / widgets / class-wp-widget-search.php) e você vai descobrir que não há ganchos de filtro para isso. Pode ser alterado apenas nos seus widgets personalizados.

No meu widget personalizado, eu o altero nessa parte do código de classe do widget:

    function __construct() {
         parent::__construct(
            'misha_widget', 
            'Widget title', // here it is
            array( 'description' => 'Widget description' )
        );
    }
  1. Se você quiser alterar "Minha pesquisa" no widget na área de administração, o JavaScript é uma boa maneira de fazer isso porque o WordPress também faz isso com o JS. O gancho widget_title será aplicado apenas para a aparência do site, não para a área de administração ou personalizador:

    add_filter('widget_title', 'misha_change_title1', 10, 3 );
    function misha_change_title1( $title, $instance, $id ){
        if( $id == 'search' ) {
            return '                                    
por Misha Rudrastyh 11.12.2017 / 11:40