• info@oscarperez.es

Archivo de la etiqueta WordPress

Divulgar en redes sociales los Custom Post Type

Tenía un problema y no tenía ni idea de como solucionarlo.

En mi instancia de WordPress tengo instalado el plugin Jetpack y configurado para que me publique en mis redes sociales (Twitter, Linkedin) las entradas que escribo en mi blog. Hasta aquí todo funciona correctamente. Cuando estoy escribiendo la entrada desde el panel de WordPress, aparece un botón que pone Publicar y luego información de las cuentas de redes sociales en las que se va a publicar la entrada. 

El problema que me encontraba era que había creado unos Custom Post Types, y cuando voy a crear una nueva entrada para estos CustomPost Type, el botón de Divulgar estaba deshabilitado, con lo que todas las entradas que creaba para cada uno de los CPT’s no se publican en mis redes sociales.

Después de buscar información y no encontrar nada (puede ser que no supiera hacer la búsqueda correcta), decidí preguntar en el soporte de WordPress (https://es.wordpress.org/support/), y comenté mi problema.

En poco tiempo, no creo que fuera más de un par de horas, ya tenía la solución.

Tienes que activar la opción añadiendo un código en el archivo «functions.php» de tu tema o en tu plugin personalizado (que es donde yo recomiendo):

add_action('init', 'my_function');
function my_function() {
    add_post_type_support( 'XX', 'publicize' );
}

Sustituyendo  XX por el nombre del CPT correspondiente. Si tenéis varios CPT’s, ponéis una linea add_post_type_support( ‘XX’, ‘publicize’ ); por cada uno de los CPT’s que tengáis.

Tambien podeis cambiar my_function por otro nombre que os guste más.

Muchas gracias a @almendron en WordPress.org por su ayuda y comentario. Con estas pocas lineas solucionó mi problema

Podéis ver el hilo de la conversación en: https://es.wordpress.org/support/topic/divulgar-en-redes-sociales-los-custom-post-type/

Además de mostraros como solucionar un problema, también quiero agradecer a la comunidad WordPress la labor que hace dando soporte a todos los usuarios de este CMS.

Mi charla en la Meetup de @WPMadrid en video

Charla en la Meetup de @WPMadrid

El miércoles 20 de junio tuve el honor de participar como ponente en un meetup de . Compartí escenario con Gonzalo Mata que nos aclaró muchos temas sobre infraestructura necesaria para nuestros proyectos.

 

En mi charla expliqué como crear un plugin para personalizar ciertos aspectos de nuestra instalación del WordPress: desactivar/activar Gutemberg, personalizar la página de login de WordPress….

En los siguientes enlaces, podéis descargar los ejemplos de los plugins realizados:

Espero que los que fueran, aprovechasen algo de la charla y salieran aprendiendo algo nuevo. Y agradecer a la confianza que puso en mí para cerrar la temporada de meetups.

Charla en la Meetup de @WPVillalba

El jueves 28 de febrero dí mi primera charla en la meetup de @WPVillalba. Espero que no salieran desilusionados y pueda dar alguna más.

El tema era Cómo crear mi primer plugin en WordPress.

En la charla expliqué como crear 4 plugins:

  • Un «hola mundo» adaptado a la frase del monólogo final ‘Lágrimas en la lluvia’ del replicante Roy Batty en la películaBlade Runner (1982)
  • Otro «hola mundo» pero mostrando frases de la película ‘Amanece que no es poco’
  • Un plugin para personalizar ciertos aspectos de nuestra instalación del WordPress: desactivar/activar Gutemberg, personalizar la página de login de WordPress….
  • El último plugin, para controlar una biblioteca personal, con creación y acceso a base de datos

En los siguientes enlaces, podéis descargar los ejemplos de los plugins realizados:

Espero que los que fueran, aprovechasen algo de la charla y salieran aprendiendo algo nuevo.

Quitar el panel de ¡Bienvenido a WordPress! en el panel de administración

Cuando usamos WordPress en alguno de nuestros proyectos, lo primero que se ve en el panel de Administración es el panel de Bienvenida a WordPress.

Este panel es un metabox con varios enlaces «rápidos» a distintas secciones o funcionalidades de nuestro WordPress. Como por ejemplo: «Personalizar el sitio», «Escribir entradas», «Gestionar widgets o menús»….

Al principio puede estar bien, pero poco a poco, con el uso de WordPress, nos acostumbramos a usar el menú de administración, o queremos que el Escritorio esté lo más limpio posible para nuestros usuarios y que no se «mareen» con tanta información que a veces pueden confudir y está ocupando un lugar en la pantalla que podemos necesitar para otras funcionalidades. En estos casos puede que nos interese eliminar esta «caja» del Escritorio.

Esto lo podemos hacer de dos maneras:

Manual

  • Se puede ocultar a partir de la pestaña Opciones de pantalla, deseleccionando la casilla de Bienvenido. Esto habría que hacerlo para cada uno de los usuarios del panel de adminstración de nuestra instalación de WordPress.

Automática

  • Pero a veces, necesitamos hacerlo automáticamente para todos los usuarios. Para ello debemos de modificar el fichero functions.php ubicado en el tema activo del sitio web, y agregar la siguiente línea.
remove_action( 'welcome_panel', 'wp_welcome_panel' );

 

Y ya que estamos modificando el fichero functions.php, podemos aprovechar para eliminar también los meta-box que aparecen en el Escritorio sobre las noticias de WordPress, tal cómo se muestra en la imagen de más abajo.

Para ello, añadimos las siguientes lineas en el functions.php:

 remove_meta_box( 'dashboard_primary', 'dashboard', 'side' ); // Noticas del blog de WordPress
remove_meta_box( 'dashboard_secondary', 'dashboard', 'side' ); // Otras noticias de WordPress

Si eres de los que no te gusta que se toque el fichero functions.php, puedes crearte un plugin de personalización.

He dejado uno en la siguiente url: Plugin para ersonalizar mi instalación. De hecho, dí una charla en la Meetup de @WPVillalba sobrela creación de un plugin de personalización.

WordPress: Herencia de los templates

Cuando empiezas a desarrollar sitio en WordPress, te puedes encontrar un poco perdido. No te preocupes, nos pasa a todos.

En mi caso, uno de los temas que más costaba era saber que template se cargaba y por qué.

WordPress tiene una jerarquía de los archivos de plantillas, y es este artículo lo explica bastante bien. http://codex.wordpress.org/es:Template_Hierarchy.

 

Espero que os sirva de ayuda, a mi me ha aclarado bastante el tema de que página y cuando se carga en WordPress.

Crear un tema hijo en WordPress

Esto seguro que nos ha pasado a muchos cuando empezabamos a trabajar con WordPress.

Tenemos una instalación de wordpress ya terminada, hemos modificado el tema, cambiándole el CSS y algunos php para que quede todo como queremos. Una vez hecho todo, la web queda como queremos y estamos satisfechos y muy contentos por nuestro trabajo.

Pasan algunos meses, y existe una nueva versión del tema. Sin darnos cuenta, actualizamos el tema y todo lo que hemos hecho se pierde. ¿Por qué?.

Bueno, vamos por partes…
Los themes en una instalación de wordpress se guardan dentro de la carpeta /wp-content/themes/ y aquí, por cada tema que tenemos instalado hay una carpeta con su nombre, tal como se muestra en la siguiente imagen.

Como podeis ver, hay dos temas instalados, el Twenty Seventeen, tema que se instala por defecto en el WordPress y el tema Nirvana que es el que tenemos activado.

Si las modificaciones las hacemos en los ficheros del directorio nirvana (el style.css, algún php como el header.php o el footer.php….) cuando se actualiza este tema, todo se pierde. ¿Porqué?. Bueno, de manera rápida, la actualización de un theme, lo que hace es eliminar su directorio de la carpeta themes y descargarse el nuevo, con lo que todo lo que hayamos modificado se pierde.

Y después de esto, tirones de pelo, subimos el nivel de alerta a DEFCON-2, empezamos a buscar copias de seguridad, no las encontramos…… vamos, lo que viene siendo un pandemónium (confusión ruido, y a veces gritos)

Pero para casi todo en esta vida hay solución. Para este problema crearemos un theme child (tema hijo) del theme Nirvana.

Lo primero, es crear una carpeta dentro de la carpeta /wp-content/themes/, para lo cual necesitaremos acceso FTP a nuestro servidor. Lo que yo recomiendo es que el nombre de la nueva carpeta tenga algúna relación con el tema padre. En nuestro ejemplo, el tema padre se guarda en el el directorio nirvana, así que la nueva carpeta la voy a llamar nirvana-child (imaginación al poder 😆 ).

Despues de crear este directorio, hay que crear la hoja de estilos (style.css). Puedes copiar la cabecera del fichero style.css del tema padre y modificar, o crear una desde cero con las lineas justas. Esto último es lo que voy a hacer, y el fichero style.css quedaría así:

/*
Theme Name: Mi tema hijo
Theme URI:
Version: 1.0
Description: Tema hijo del tema Nirvana
Author: Yo mismo
Author URI: http://www.midominio.com
Template: nirvana
*/
@import url("../nirvana/style.css");
/*----------------- Empieza a añadir cambios aquí abajo -----------------*/

 

¿Que es lo que he cambiado?¿que es lo importante de este fichero?

  • Theme Name: Pon el nombre que tu quieras
  • Template: Importante. Debe de ser el nombre de la carpeta del tema padre
  • El @import url("../nirvana/style.css");, es donde le indicamos a nuestro tema de donde heredar la hoja de estilos del tema padre. En este ejemplo, le digo que busque en el directorio del tema padre (nirvana)

También puedes guardar en el directorio una imagen llamada screenshot.png otra del mismo tamaño que la que tiene el tema padre. Yo recomiendo en este screenshot.png colocar una captura de como luce el tema, pero puedes poner lo que quieras en este png. Esta será la imagen que veras cuando abras el menú de WordPress Aparienica->Temas.

Y lo más importante: Al final hay que activar el tema hijo. Por cierto, hay que tener en cuenta que internamente el tema realmente se sigue llamando nirvana.

Con eso, se ha creado un tema hijo para una instalación de WordPress sin necesidad de saber nada de PHP.

Ayuntamiento Real Sitio de San Ildefonso

Soy el responsable del departamento de Informática del Ayuntamiento del Real Sitio de San Ildefonso.

Mi cometido es mantener el parque informático y mantenimiento y desarrollo de todas las webs municipales.

La principal web es la Página oficial del Ayuntamiento del Real Sitio de San Ildefonso.

En esta web se refleja la información que se genera en el pueblo del Real Sitio de San Ildefonso (Segovia),  ya sean noticias propias del ayuntamiento o información cultural

EL CMS usado es WordPress. También se usa PHP y jQuery para diversas funcionalidades que se han implementado fuera del CMS, y tambien se han programado plugins específicos para mostrar información relativa al Ayuntamiento del Real Sitio de San Ildefonso.

El tema que se usa es un tema propio, es decir, construido integramente para este proyecto.

Para el diseño se ha usado HTML5 y CCS3, además el diseño es adaptativo y se puede visualizar en ordenadores, tablets y móviles

Pero la web oficial del ayuntamiento no es la única .  La lista de webs que desarrollo y mantengo se va incrementando poco a poco:

También diseño y desarrollo una intranet para uso interno de los trabajadores del Ayuntamiento

Ramiro Ribas Narvaez

Página Web de Ramiro Ribas.  Un Artista Multidisciplinar (Escultura, Pintura, Literatura, Diseño, Proyectos Artísticos …)

EL CMS usado es WordPress, con el plugin Woocomerce y el tema Flastatic

Sociedad Castellarnau

Página de la Sociedad Castellarnau. Está online desde 2010. Url

La Sociedad Castellarnau, de la que soy miembro, me encargó la realización de su página web. En esta página web, se refleja las inquietudes, pensamientos y conocimientos de los miembros de este Sociedad. El nexo común de todos nosotros es el amor que tenemos por el entorno de La Granja, Valsaín y la Sierra del Guadarrama.

La tecnología usada en la primera versión fué Php, Mysql, Html, Css, Javascript y el CMS también era propio y desarrollado por mí.

La he renovado en octubre del 2016 y he usado como CMS WordPress, y como tecnologías de diseño y programación Php, Mysql, Html5, Css3, Javascript, jQuery, Ajax, adaptando el diseño para dispositivos móviles. Para algunas funcionalidades programé plugins propios para guardar información en la base de datos y después mostrarla en la web pública.

12