Insira a opção Widget em mark-up com register_sidebar

Eu adicionei um campo personalizado para todos os meus widgets no meu tema, chamado “custom-title”. Eu consegui salvar o campo no database para cada widget, assim:

s:12:"custom-title";s:17:"HELLO TEST ANCHOR" 

Eu quero usar isso para adicionar um atributo de dados “título personalizado” ao mark-up para cada widget, no argumento before_widget. Eu quero que o mark-up final seja assim:

 

Eu quero fazê-lo usando register_sidebar() para que ele se aplique a TODOS os widgets que têm um título personalizado salvo.

Aqui estão os argumentos atuais passados ​​para register_sidebar:

  // Register Sidebar register_sidebar( Array( 'id' => $sidebar_id, 'name' => $arr_sidebar[0], 'description' => $arr_sidebar[1], 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

' ) );

É possível inserir o meu título personalizado no lugar correto desta marca?

Solutions Collecting From Web of "Insira a opção Widget em mark-up com register_sidebar"

Primeiro você replaceá esta linha

com

Agora, adicione o filtro no arquivo functions.php.

 add_filter( 'widget_display_callback', 'add_custom_data_to_before_widget', 10, 3 ); function add_custom_data_to_before_widget( $instance, $widget_class, $args ) { if ( ! empty( $instance['title'] ) && ! empty( $instance['custom-title'] )) { $args['before_widget'] = str_replace('DCT', sanitize_text_field ( $instance['custom-title'] ), $args['before_widget']); $widget_class->widget( $args, $instance ); return false; } } 

Espero que isso ajude você.