sábado, 5 de junio de 2021

#INSTALAR THEMES


Podés instalar themes en WordPress de tres formas diferentes. Desde el repositorio oficial de wordpres.org, mediante un archivo .zip o manualmente copiando los archivos en la carpeta correspondiente.

DESDE EL REPOSITORIO OFICIAL

En este caso WordPress permite instalar themes desde su repositorio utilizando solamente el admintrador. Para lograrlo tenés que seguir los siguientes pasos:

  1. Lo primero que tenés que hacer es entrar al administrador de temas en Apariencia > Temas y hacer clic en Añadir nuevo
paso1
  1. Una vez en esa página, podés usar el búscador que está en la esquina superior derecha o los filtros personalizados que están a la izquierda para navegar las diferentes posibilidades.
paso2
  1. Haz clic en el botón Instalar
paso3
  1. Por último haz clic en Activar
paso4

MEDIANTE UN ARCHIVO .ZIP

Este método consiste en subir un archivo .zip desde el administrador, este archivo corresponde a la carpeta principal del theme comprimida en dicho formato. Podés utilizar esta opción cuando tengas un theme que no se encuentra en el repositorio oficial. Por ejemplo, uno que hayas comprado o desarrollado por tu cuenta.

  1. Al igual que en el método anterior, tenés que ir a la pantalla de instalación desde el menú lateral con la siguiente ruta Temas > Añadir Nuevo.
paso1
  1. Haz clic en Añadir nuevo.
paso2
  1. Buscá el archivo .zip con tu theme y haz clic en Instalar ahora
paso3
  1. Por último, haz clic en Activar
paso4

SUBIENDO LOS ARCHIVOS MANUALMENTE

Por último, existe una forma manual de realizar la instalación. Esto consiste en mover la carpeta principal del theme a la carpeta wp-contet/themes de WordPress. Este método lo podemos utilizar cuando el servidor no provee permisos de escritura para el sitio (no permirte crear, modificar o eliminar archivos).

En este caso vas a ver como subir los archivos utilizado Filezilla, pero podés usar cualquier cliente FTP.

  1. Iniciá la conexión con el servidor y ubicate en la carpeta de principal del sitio, donde se encuentra la instalación de WordPress.
paso1
  1. Luego ve a la carpeta wp-content/themes y subí la carpeta principal del theme.
paso2
  1. Por último dirigite al administrador de temas en Apariencia > Temas y activá el theme que acabas de subir, haciendo clic en el botón Activar.
paso3

Si estás utilizando una instalación local, basta con que copies la carpeta principal de tu theme en la carpeta /wp-content/themes/.

CHILD THEME

Cuando utilizás themes desarrollados por terceros, tenés que asumir que en un futuro ese desarrollador o empresa va a actualizarlo. Si hacés cambios modificando o agregando código directamente sobre los archivos de ese theme, cuando lo actualicés, perderás todas las modificacioens que hayas hecho en el mismo. Para solucionar este problema, WordPress te da la opción de crear un child theme.
Un child theme es un theme que usa los archivos un "padre”, es decir, del theme que originalmente estabas utilizando. Sin embargo, permite agregar código propio que sobreescribirá las funcionalidades del “tema padre”. Esto permite independizar las personalizaciones del código original.

A continuación vamos a crear uno utilizando como “padre” al theme Twenty Twenty, desarrollado por el equipo de Wordpress.

  1. Lo primero que tenés que hacer es crear una carpeta en /wp-content/themes. El nombre de la misma puede ser cualquiera pero, para seguir las buenas practicas, lo recomendable es usar el nombre del tema padre seguido de “-child”, en este caso twentytwenty-child.
paso3
  1. Dentro de esa carpeta tenés que crear los archivos style.css e index.php.

  2. En el archivo style.css tenés que inicializar el child theme colocando los siguientes datos dentro de un comentario:

/*
Theme Name: Twenty Twenty child
Theme URI: https://wordpress.org/themes/twentytwenty/
Version: 1.0
Description: Tema hijo de Twenty Twenty
Author: Cristian Ramanzin
Author URI: https://github.com/ramitaenlarama
Template: twentytwenty
*/

Los datos importantantes de está configuración son:

  • Theme Name : Nombre del tema hijo.
  • Template : Nombre exacto de la carpeta donde se encuentra el tema padre.
  1. Una vez que el child theme este inicializado tenés que activarlo desde el administrador de temas en Apariencia > Temas. Posicioná el cursor encima de él y presioná el botón Activar.
paso3
  1. Por último, para poder mantener el diseño que tiene el tema padre, tenés que importar el css que contiene los estilos utilizados. Para eso dentro de tu child-theme vas a crear el archivo function.php con el siguiente código:
<?php

function child_theme_assets() {
 
 wp_enqueue_style( 'estilos-padre', //handle para estilos de tema padre
                    get_template_directory_uri() . '/style.css' //get_template_directory_uri() retornara la ubicación del tema padre
                );

 wp_enqueue_style( 'estilos-hijos',
                    get_stylesheet_directory_uri() . '/style.css', //get_stylesheet_directory_uri() retornara la ubicación de la hoja de estilos del child-theme 
                    array('estilos-padre'), //usa como depencia la hoja de estilos del tema padre.
                    '1.0' //Versión de la hoja de estilos 
                    );
}
add_action( 'wp_enqueue_scripts', 'child_theme_assets' );

Tené en cuenta que todo lo que desasarrollés en esta carpeta tendrá mayor prioridad que el tema padre. Es decir, que si añadís una propiedad o un archivo de alguna de las vistas ya existentes (single.php, page.php,etc), los originales serán reemplazados por los tuyos.

Ahora ya tenés tu tema hijo activo y preparado para trabajar. Desde ahora podés agregar tu código sin necesidad de moficar los archivos del theme desarrollado por terceros. Cuando el theme padre se actualice, todo tu código estará a salvo en tu child theme.

IMPORTANCIA DE LOS ROLES DE USUARIO

 


Los roles te permitirán gestionar los permisos de los usuarios dentro de tu sitio, es decir, qué puede y qué no puede hacer dentro del administrador. Estas acciones se denominan capabilities.

Esto es muy útil ya te permite segmentar las tareas de tus usuarios. Por ejemplo, si dentro de la web tienes a alguien cuya tarea es la de crear y corregir notas de blog, si le asignas el rol Editor a su usuario, este no va a poder agregar plugins ni modificar el contenido de las páginas, solo podrá crear y editar notas. Esta práctica es muy importante para garantizar la seguridad y la estructura de nuestro sitio.

Se pueden presentar casos en los que los roles por defecto no alcancen o sean demasiado restrictivos, para eso WordPress brinda la posibilidad de crear, eliminar y modificar roles.

CREAR UN ROL DE USUARIO

Para crear un rol de usuario podés utilizar la función add_role() que nos provee WordPress, la tenés que utilizar dentro de una función y asignarla al hook init. Esto tiene que hacerse desde el archivo functions.php.

function add_administrador_tema_role() { //nombre de nuestra función, puede ser el nombre que quieras
    add_role(
        'administrador_tema', //Nombre de role.
        'Administrador Tema', //Nombre que se visualará en la creación o página de opciones de usuarios.
       array(    
            'read' => true, //Permite el acceso al dashboard del adminitrador.
            'switch_themes' => true, //Permite el cambio de temas.
            'edit_themes'   => true, //Permite editar archivos desde el administrado de archivos del tema.
            'edit_theme_options' => true, //Permite modificar Widgets,Menús, Personalizar.
            'install_themes'    => true,  //Permite instalar temas nuevos.
            'update_themes' => true, //Permite actualizar temas instalados.
            'delete_themes' => true, //Permite eliminar temas.

            )   //Array con las capabilities
    );
}

//add_action(Hook, Nombre de la función)
add_action('init', 'add_administrador_tema_role'); 

Una vez que este código esté inicializado, el usuario ya quedará creado con esa configuración. Si necesitás eliminarlo, no bastará con eliminar la función, tendrás que usar el método que veremos a continuación.

ELIMINAR UN ROL DE USUARIO

Para eliminar un rol de usuario podés a utilizar la función remove_role() y, de la misma forma que para crearlo, tenés que utilizarla dentro de una función asignada al hook init, en el archivo function.php.

function remove_role_administrado_temas() { //Nombre de la función
    remove_role( 'administrador_tema' ); 
}
 
//add_action(Hook, Nombre de la función)
add_action( 'init', 'remove_role_administrado_temas' );

MODIFICANDO CAPABILITIES EN ROLES

Para agregar capabilities en un role, lo primero que tenés que hacer es instanciar el role dentro de una variable conla función get_role(). Una vez hecho eso puedes utilizar los métodos add_cap() y remove_cap().

En el siguiente ejemplo se le dará al role de usuario subscriptor el permiso para editar posts (entradas de blog, custom post type).


function add_cap_subscriber(){ //Nombre de la función
    $role = get_role( 'subscriber' ); //Instaciamos el role en la variable $role
    $role->add_cap( 'edit_posts'); //Agregamos la cabability usando el método add_cap().
}

//add_action(Hook, Nombre de la función)
add_action( 'init', 'add_cap_subscriber');

En el siguiente ejemplo se removerá al role de usuario editor, el permiso para modificar contenidos (entradas de blog, custom post type, etc).


function remove_cap_editor(){ //Nombre de la función
    $role = get_role( 'editor' ); //Instaciamos el role en la variable $role
    $role->remove_cap('edit_pages'); //Removemos la cabability usando el método remove_cap().
}

//add_action(Hook, Nombre de la función)
add_action( 'init', 'remove_cap_editor');
https://wordpress.org/support/article/roles-and-capabilities/#administrator

miércoles, 2 de junio de 2021

PASOS PARA REALIZAR EL RESPALDO


Para hacer el respaldo de una base de datos postgres hacemos lo siguente:

Es importante indicar que el usuario postgres, o el usuario que deseen usar para estas tareas, debe tener todos los privilegios como super admin en el gestor. Desde la terminal de linux, primero nos logeamos con el usuario postgres:

# su postgres

luego ejecutamos el siguiente comando:

# pg_dump -U postgres -f respaldo_basededatos.sql db_basededatos

donde “db_basededatos” es la base de datos que queremos respaldar como ejemplo y “respaldo_basededatos.sql” es el archivo que se va a generar al ejecutar este comando. El nombre del archivo puede ser el que quieran.

o puede ser así también:

# pg_dump -U postgres db_basededatos > respaldo_basededatos.sql

  • db_basededatos: es la base de datos a respaldar.
  • respaldo_basededatos.sql: es el nombre del archivo de respaldo que se va a generar al ejecutar este comando, (el nombre del archivo queda al criterio del administrador.)

También podríamos realizar el respaldo en una ruta distinta a la que actualmente tenga el prompt de la consola, por ejemplo en una carpeta ubicada en /var/respaldos/:

# pg_dump -U postgres db_basededatos > /var/respaldos/respaldo_basededatos.sql

Si por alguna razón debemos hacer un respaldo de todas las bases de datos en un solo comando, hacemos los siguiente:

# pg_dumpall -U postgres > misbasesdedatos_all.sql

PASOS PARA REALIZAR UNA RESTAURACIÓN

Ahora para restaurar un respaldo de una base de datos postgres desde un archivo .sql primero debemos crear una nueva base de datos donde se va a restaurar el respaldo .sql. Desde la consola hacemos lo siguiente:

# su postgres

entramos al gestor de postgres con:

# psql

luego creamos la base de datos donde queremos restaurar el respaldo:

postgres=# create database mi_basededatos;

y nos salimos con:

postgres=# \q

Ahora ejecutamos lo siguiente:

# psql -h localhost -p 5432 -U postgres -f “respaldo_basededatos.sql” mi_basededatos

Si es un servidor remoto, podríamos ejecutarlo así, colocando la IP del servidor remoto postgres, con el argumento -h indicamos la IP o el nombre del servidor, sea local o remoto, el argumento -f indica que lo siguente en el comando entre las comillas, es el respaldo .sql que deseamos restaurar (“respaldo_basededatos.sql”), con el argumento -p indicamos el puerto del postgres y con -U indicamos el usuario,  por ejemplo

# psql -h 172.16.36.5 -p 5432 -U postgres -f “respaldo_basededatos.sql” mi_basededatos

donde “mi_basededatos” es la base de datos donde se hará la restauración y “respaldo_basededatos.sql” es el archivo .sql correspondiente al respaldo que queremos restaurar.

Al ejecutar ese comando el sistema nos pedirá la clave del usuario postgres y listo!

Otra manera muy similar de realizar una restauración es como a continuación:

# psql -U postgres mi_basededatos < respaldo_basededatos.sql