Pasar a $output

  • Autor Autor FinerGaby
  • Fecha de inicio Fecha de inicio
F

FinerGaby

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Ayuda Pasar a $output

Hola buenas noches, actualmente estoy haciendo un widget wordpress de categorias pero tengo un problema con la parte de back end..
actualmente yo estoy usando en el back end $output pero tengo una parte que lo saque de otro lado para hacer un select en la parte de back end de los widget..

me explico yo tengo asi
PHP:
public function form( $instance ) {
		
		$title = ( !empty( $instance[ 'title' ] ) ? $instance[ 'title' ] : '' );
		$nombrecategory = ( !empty( $instance[ 'nombrecategory' ] ) ? $instance[ 'nombrecategory' ] : '' );
		$numberpost = ( !empty( $instance[ 'numberpost' ] ) ? absint( $instance[ 'numberpost' ] ) : 4 );		
		$city = $instance['city'];  
				
		$output = '<p>';
		$output .= '<label for="' . esc_attr( $this->get_field_id( 'title' ) ) . '">Title:</label>';
		$output .= '<input type="text" class="widefat" id="' . esc_attr( $this->get_field_id( 'title' ) ) . '" name="' . esc_attr( $this->get_field_name( 'title' ) ) . '" value="' . esc_attr( $title ) . '"';
		$output .= '</p>';
		
		echo $output;

		$output = '<p>';
		$output .= '<label for="' . esc_attr( $this->get_field_id( 'nombrecategory' ) ) . '">nombrecategory:</label>';
		$output .= '<input type="text" class="widefat" id="' . esc_attr( $this->get_field_id( 'nombrecategory' ) ) . '" name="' . esc_attr( $this->get_field_name( 'nombrecategory' ) ) . '" value="' . esc_attr( $nombrecategory ) . '"';
		$output .= '</p>';

		$output .= '<p>';
		$output .= '<label for="' . esc_attr( $this->get_field_id( 'numberpost' ) ) . '">Number of Posts:</label>';
		$output .= '<input type="number" class="widefat" id="' . esc_attr( $this->get_field_id( 'numberpost' ) ) . '" name="' . esc_attr( $this->get_field_name( 'numberpost' ) ) . '" value="' . esc_attr( $numberpost ) . '"';
		$output .= '</p>';
		
		echo $output;

ahora esta parte quisiera pasarle a output que la tengo asi.. como el php de arriba que muestro.
PHP:
			?>
     <p>
      <label for="<?php echo $this->get_field_id('text'); ?>">City: 
        <select class='widefat' id="<?php echo $this->get_field_id('city'); ?>"
                name="<?php echo $this->get_field_name('city'); ?>" type="text">
          <option value='NewYork'<?php echo ($city=='NewYork')?'selected':''; ?>>
            NewYork
          </option>
          <option value='LosAngeles'<?php echo ($city=='LosAngeles')?'selected':''; ?>>
            LosAngeles
          </option> 
          <option value='Boston'<?php echo ($city=='Boston')?'selected':''; ?>>
            Boston
          </option> 
        </select>                
      </label>
     </p>
     <!-- Widget City field END -->
     <?php 
  }

Cuestion me he tomado dias y de diferentes formas en pasar eso a $output para que quede proligo con lo de arriba pero no hallo la manera correcta en pasarlo a $output y funcione el select.. probe de miles maneras y nada =(.
No soy un experto en php no se mucho pero suelo siempre tomar algo de base y seguir el ejemplo, osea yo segui el ejemplo de la parte de arriba para pasar eso a $output llege hasta la parte que sea bien el get_field text pero la parte de select no logro hacer que funcione.
Creo que se me entiende.
 
Última edición:
tienes muy mala practica de código el output es una variable que bien puede ser todo eso y no estar concatenando por cada bloque.
lo más recomendable es separar el html del php.
 
Atrás
Arriba