es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cambiar texto de marcador de posición del formulario de entrada

Estoy intentando cambiar el texto del marcador de posición de mi entrada para el formulario de búsqueda.

    <input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Waar ben je naar op zoek?', 'placeholder', 'fancy-lab' ); ?>" value="<?php echo get_search_query(); ?>" name="s">

La cadena ‘Waar ben je naar op zoek?’ debe cambiarse por algo más personal cuando el usuario ha iniciado sesión. Ya estamos agregando estos cambios en otras partes del sitio y estoy utilizando este código para otras partes también:

<?php global $current_user; wp_get_current_user(); ?>
    <?php if ( is_user_logged_in() ) { 
        echo $current_user->user_login; 
    }
    ?>

Cuando he agregado esto, estoy obteniendo varios errores, el primero se debe a la parte global. Entonces, al cambiar el código a esto:

<input type="search" class="search-field" placeholder="<?php echo esc_attr_x( global $current_user; wp_get_current_user();
                                if ( is_user_logged_in() ) { 
                                    echo $current_user->user_login; 
                                }
                                , 'placeholder', 'fancy-lab' ); ?>" value="<?php echo get_search_query(); ?>" name="s">

Estoy obteniendo el error: error de sintaxis, inesperado ‘global’ (T_GLOBAL)

¿Alguien puede ayudarme? ¡Intento entender la sintaxis correctamente!

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para cambiar el texto del marcador de posición del input en el formulario de búsqueda, puedes actualizar el código de la siguiente manera:

    <input type="search" class="search-field" placeholder="<?php echo is_user_logged_in() ? 'Nuevo texto personal' : esc_attr_x( 'Waar ben je naar op zoek?', 'placeholder', 'fancy-lab' ); ?>" value="<?php echo get_search_query(); ?>" name="s">
    

    Este código verificará si el usuario ha iniciado sesión utilizando la función is_user_logged_in(). Si el usuario ha iniciado sesión, mostrará el nuevo texto personal. De lo contrario, mostrará el texto predeterminado del marcador de posición utilizando la función esc_attr_x().

Comments are closed.