Entrada de nome do widget exibe o nome da barra lateral em vez dos dados salvos

Eu não tinha certeza de como citar esta questão, então peço desculpas. Deixe-me primeiro declarar que não tenho experiência com este tipo de código, mas eu realmente preciso deste recurso para o meu site, então agradeço toda a ajuda que alguém possa fornecer!

De qualquer forma, recentemente recebi uma solução para uma edição anterior que eu tive que pode ser encontrada aqui //

Criar carregador de imagens para o Widget

Funcionou perfeitamente, mas o novo problema * agora é que eu queria adicionar uma input “Nome” e uma maneira de exibir o texto padrão que apareceria no front-end.

Encontrei um tutorial aqui //

http://wp.tutsplus.com/tutorials/creative-coding/building-custom-wordpress-widgets/

ele usa if ( $name ) printf( '

' . __('Hey their Sailor! My name is %1$s.', 'example') . '

', $name ); para exibir o nome. Então eu tentei adicioná-lo às minhas funções.php.

e veio com isto //

 // register sidebar if (function_exists('register_sidebar')) { register_sidebar( array( 'name' => 'Left Sidebar', 'id' => 'left-sidebar', 'description' => 'Widget Area', 'before_widget' => '
', 'after_widget' => '
', ) ); } // register widget add_action('widgets_init', 'eotw_widget'); function eotw_widget() { register_widget( 'eotw_w' ); } // add admin scripts add_action('admin_enqueue_scripts', 'ctup_wdscript'); function ctup_wdscript() { wp_enqueue_media(); wp_enqueue_script('ads_script', get_template_directory_uri() . '/js/ads.js', false, '1.0', true); } // widget class class eotw_w extends WP_Widget { function eotw_w() { $widget_ops = array('classname' => 'eotw-w'); $this->WP_Widget('eotw-w-widget', 'EOTW', $widget_ops); } function widget($args, $instance) { extract($args); // widget content echo $before_widget; if ( $name ) printf( '

' . __('Hey there Sailor! My name is %1$s.', 'example') . '

', $name ); ?> <img class="eotw-edit" src="https://wordpress.stackexchange.com//questions/127321/name-input-from-widget-displays-sidebar-name-instead-of-saved-data/" />

<label for="get_field_id( 'name' ); ?>"> <input id="get_field_id( 'name' ); ?>" name="get_field_name( 'name' ); ?>" value="" style="width:100%;" />

<label for="get_field_id('image_uri'); ?>">Image
<?php if ( $instance['image_uri'] != '' ) : echo '
'; endif; ?> <input type="text" class="widefat custom_media_url" name="get_field_name('image_uri'); ?>" id="get_field_id('image_uri'); ?>" value="" style="margin-top:5px;"> <input type="button" class="button button-primary custom_media_button" id="custom_media_button" name="get_field_name('image_uri'); ?>" value="Upload Image" style="margin-top:5px;" />

A imagem é exibida na parte frontal e, portanto, é //

Ouça, Sailor! Meu nome é.

Mas em vez do “nome” inserido no campo de input, o nome da “barra lateral esquerda” é exibido em vez disso.

Não tenho certeza de como corrigir isso. Então, minha pergunta é, onde eu errei? Que parte do código posso alterar para que os dados da input do nome sejam exibidos corretamente em vez do nome da barra lateral? Por favor ajude.

Solutions Collecting From Web of "Entrada de nome do widget exibe o nome da barra lateral em vez dos dados salvos"

Ok, então funciona agora. Os dados da input do nome agora são exibidos na parte frontal, juntamente com a imagem carregada. Eu honestamente não posso explicar o porquê … mas basicamente basta copiar algumas linhas do link do tutorial que postei e colei onde pertence e tudo começou a funcionar do jeito que deveria.

Aqui está o novo * código //

 // widget class class eotw_w extends WP_Widget { function eotw_w() { $widget_ops = array('classname' => 'eotw-w'); $this->WP_Widget('eotw-w-widget', 'Editor of the Week', $widget_ops); } function widget($args, $instance) { extract($args); $title = apply_filters('widget_title', $instance['title'] ); $name = $instance['name']; $image_uri = $instance['image_uri']; // widget content echo $before_widget; if ( $title ) echo $before_title . $title . $after_title; if ( $name ) printf( '

' . __('This weeks EOTW is %1$s ', 'example') . '

', $name ); ?> < ?php echo $after_widget; } function update($new_instance, $old_instance) { $instance = $old_instance; $instance['title'] = strip_tags( $new_instance['title'] ); $instance['name'] = strip_tags( $new_instance['name'] ); $instance['image_uri'] = strip_tags( $new_instance['image_uri'] ); return $instance; } function form($instance) { //Set up some default widget settings. $defaults = array( 'title' => __('Editor of the Week', 'example'), 'name' => __('Bilal Shaheen', 'example')); $instance = wp_parse_args( (array) $instance, $defaults ); ?>



< ?php if ( $instance['image_uri'] != '' ) : echo '
'; endif; ?>

< ?php } } ?>