domingo, 28 de abril de 2013

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Idioma diferente para el administrador y el tema

Posted: 28 Apr 2013 04:09 AM PDT

wordpress internacional

Los temas que están localizados, o sea, preparados para reconocer el idioma de WordPress, utilizan la versión internacionalizada del mismo dependiendo del idioma definido en el archivo de configuración de WordPress (wp-config.php), pero no siempre es esto lo deseado.

Cada vez es más habitual que administren WordPress usuarios cuyo idioma nativo no es el que se debe mostrar para los visitantes.

Por ejemplo, digamos que tu te manejas mejor con WordPress en español pero tu sitio está orientado a visitantes de habla inglesa. Pues bien, si el tema está localizado y pones en wp-config.php el español cómo idioma de WordPress, si el tema está internacionalizado y dispone de traducción al español mostrará los mensajes en este idioma definido en el archivo de configuración.

Si no quieres que pase esto solo tienes que hacer un par de cosas:

  1. No definir el idioma en el archivo wp-config.php, o sea, dejar la línea así:
    define('WPLANG', '');
  2. Añade este código al archivo de funciones del tema activo (functions.php):
    // Un idioma para el tema y otro para el administrador  // hay que llamarlo antes de load_theme_textdomain()  function set_my_locale($locale) {  	$locale = ( is_admin() ) ? "es_ES" : "en_US";  	setlocale(LC_ALL, $local );  	return $locale;  }  add_filter( 'locale', 'set_my_locale' );

Cómo puedes imaginar, debes cambiar la línea 4 a tus preferencias.

Impedir actualizaciones y borrado de entradas después de un tiempo

Posted: 27 Apr 2013 03:36 AM PDT

Cuenta-atrás-4-dias

Se me ocurren pocas situaciones en que sea útil este truco, pero seguro que a más de uno se le ha ocurrido alguna vez cómo se haría para que, pasado un tiempo determinado, nadie pueda modificar o borrar una entrada.

Así que si le vas a sacar partido a este truco solo tienes que añadir el siguiente código a tu plugin personal:

//Desactivar edición de entradas tras un tiempo determinado  function prohibido_editar( $allcaps, $cap, $args ) {  // Salto si no vamos a editar o borrar una entrada ...      if( 'edit_post' != $args[0] && 'delete_post' != $args[0]        // ... o si el usuario es administrador        || !empty( $allcaps['manage_options'] )        // ... o si el usuario ya no puede editar entradas        || empty( $allcaps['edit_posts'] ) )          return $allcaps;        // Se cargan los datos de la entrada:      $post = get_post( $args[2] );        // Salto si la entrada no está aún publicada:      if( 'publish' != $post->post_status )          return $allcaps;        //si la entrada tiene más de 30 días (cámbialo a lo que quieras)…      if( strtotime( $post->post_date ) < strtotime( '-30 day' ) ) {          //entonces impedimos que se pueda editar.          $allcaps[$cap[0]] = FALSE;      }      return $allcaps;  }  add_filter( 'user_has_cap', 'prohibido_editar', 10, 3 );

Y ya está, solo tienes que cambiar la cadena -30 day al número de días que tu elijas.

Bonito truco de Smhmic en WPbeginner.

No hay comentarios:

Publicar un comentario

Seguidores

Archivo del blog