Quitar la leyenda de «Privado» y/o «Protegido»

Crear una entrada o página privada o protegida por contraseña es bien sencillo con WordPress, solo tienes que modificar las opciones de publicación en el editor y definirla como privada o incluso asignarle una contraseña para visualizarla.

Ahora bien, como ya sabes, al principio del título de la entrada se añade la leyenda «Privado:xxx» o «Protegido:xxx«, según el caso, y en ocasiones eso es un engorro, ya sea por estética o por gusto personal.

Pues en el foro de soporte oficial se propuso un modo, sencillo, de eliminar o sustituir por otro texto estas leyendas en tus entradas y/o páginas privadas y protegidas. Solo tienes que pegar este código en el fichero ‘functions.php‘ de tu tema activo para que no se muestren:

function the_title_trim($title) {
	// También puedes usar esta función para los atributos de escape
	$title = attribute_escape($title);
	// Esto busca en el título
	$findthese = array(
		'#Protegido:#', // # esto es solo el delimitador
		'#Privado:#'
	);
	// Con lo que quieres remplazarlo
	$replacewith = array(
		'a', // Con lo que remplazas las protegidas
		'b' // Con lo que remplazas las privadas
	);
	// Elementos a remplazar con la clave array
	$title = preg_replace($findthese, $replacewith, $title);
	return $title;
}
add_filter('the_title', 'the_title_trim');

Guardas el fichero y ya lo tienes. Fácil ¿eh?

(7 votos, promedio: 5) Valora este artículo para ayudar a mejorar la calidad del blog

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te funciona? pues entonces no he dicho nada :)

Sobre el autor

10 comentarios en “Quitar la leyenda de «Privado» y/o «Protegido»”

  1. Darío Ferrer

    Y no sería mejor…

     
    function the_title_trim($title) {
     
    	$title = attribute_escape($title);
     
    	$findthese = array( // Recordar el espacio luego de los dos puntos
     
    		'Protegido: ' => 'a',
     
    		'Privado: ' => 'b'
     
    	);
     
    	$title = strtr($title , $findthese);
     
    	return $title;
     
    }
     
    add_filter('the_title', 'the_title_trim');
     
    

    😉

  2. Gracias por el aporte.

    Para darle un aspecto más vistoso, el texto que reemplazo es el siguiente:

     
    <div class=post-private>&nbsp;</div>
     
    <div class=post-protected>&nbsp;</div>
     
    

    Y en el archivo CSS añado las clases post-private y post-protected con el siguiente contenido:

    .post-private {
     
    	width: 20px;
     
    	float:left;
     
    	background: url(images/lock_16x16.gif) no-repeat;
     
    }
     
    .post-protected {
     
    	width: 20px;
     
    	float:left;
     
    	background: url(images/access_16x16.gif) no-repeat;
     
    }
    

    un saludo.

  3. Lo protejo con contraseña y al uintroducir la contraseña, me vuelva a la misma página para poner la contraseña. Podría ser que haga conflicto al estar la página en varios idiomas??
    Gracias

  4. ACTUALIZADO 2021:

    function ayudawp_mostrar_conectado( $atts ) {
        	global $current_user, $user_login;
              	wp_get_current_user();
        	add_filter('widget_text', 'apply_shortcodes');
        	if ($user_login)
        		return $current_user->display_name;
        	else
        		return 'Acceder';
        }
        add_shortcode( 'mostrar_conectado', 'ayudawp_mostrar_conectado' );
        
        function ayudawp_mostrar_correo( $atts ) {
        	global $current_user, $user_login;
              	wp_get_current_user();
        	add_filter('widget_text', 'apply_shortcodes');
        	if ($user_login)
        		return $current_user->user_email;
        	else
        		return 'Acceder';
        }
        add_shortcode( 'mostrar_correo', 'ayudawp_mostrar_correo' );
        
        function change_private_title_prefix() {
    
        return 'Solo para suscriptores: %s';
    
        }
    
        add_filter('private_title_format', 'change_private_title_prefix');

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba Ir al contenido