Aunque no es mi software preferido, tengo que reconocer que me gusta Wordpress por que es muy ligero y el Panel de Administración es muy sencillo y claro, tanto para crear páginas de contenido como artículos de Blog, dotándoles de una atractiva apariencia.
Posibilita los llamados enlaces permanentes para crear urls amigables y junto con el plugin Yoast Seo podemos tener un sitio medianamente aceptable para posicionar en las búsquedas orgánicas.

Este Gestor de Contenidos es muy fácil de instalar así como de configurar y actualizar a las recientes versiones aunque, para cambiarlo de dominio tengamos que cambiar el nombre en toda la base de datos.
Personalmente, igual que en Joomla, también utilizo una plantilla vacía y creo una nueva usando MATERIALIZE para el responsive y el plugin SCSS para programar los estilos y crear un tema personalizado.
Personalización Wordpress en Bilbao
Mostraré la manera de personalizar tanto la programación, como el diseño de todas las páginas o articulos de Wordpress.
Si eres desarrollador de aplicaciones web, podrás seguir estos pasos sin dificultad y tener un Wordpress totalmente personalizado.
Primero vamos a insertar el siguiente código en el archivo functions.php de la template.
function shortcodes_init(){ add_shortcode( 'mycode', 'pagecode' ); } add_action('init', 'shortcodes_init'); include('controller.php'); function pagecode(){ //Dependiendo del ID de la página //eligiremos el método del controlador switch (get_the_ID()) { case 2: $controller = new Controller(); $controller->inicio(); break; default: $controller = new Controller(); $controller->inicio(); break; }} En la pagina tendremos acceso a los retornos de los métodos del modelo print_r($arr);
En todas las páginas insertaremos un shortcode que llamará a esa función pagecode de nuestro archivo functions.php
[mycode][/mycode]
Crearemos el directorio pages en nuestra template que contendrá todas las páginas y así no las incluiremos en la base de datos. También, dentro de nuestra template, creamos los archivos controller.php y model.php.
controller.php
require_once('model.php'); class Controller{ public function inicio(){ $clas = new Model(); $arr = $clas->inicio(); require_once('pages/inicio.php'); }}
model.php
class Model{ public function inicio(){ $arr = array("jose","pedro"); return $arr; }}