Quantcast
Channel: Programación en WordPress – Ayuda WordPress

Cómo quitar bloques del editor según el tipo de contenido o perfil de usuario

$
0
0

Cuando expliqué cómo hacer que el editor de bloques estuviese solo disponible para algunos tipos de contenido, páginas por ejemplo, rápidamente me surgió otra duda.

Porque claro, en algún momento habrá que abandonar el editor clásico también para las entradas, bien porque no quede más remedio que aprovechar las ventajas – cuando sean reales – del editor de bloques para redactar textos, bien porque simplemente deje de ser compatible WordPress.

¿Cómo manejaré el problema de que los redactores de entradas no usen bloques que sean para diseñar o maquetar?

Quitar bloques disponibles según el tipo de contenido

Una de las soluciones posibles está en permitir solo ciertos bloques del editor para según qué tipo de contenido, y yo siempre pienso en las entradas, pero puede aplicarse a cualquier otro tipo de contenido, también personalizados (CPT).

Aquí está la magia:

/* Permitir solo ciertos bloques en entradas */
function ayudawp_bloques_permitidos_por_contenido($allowed_block_types, $post) {
if ($post->post_type == 'post') {
return array(
'core/paragraph',
'core/heading',
'core/image'
);
}
else {
return $allowed_block_types;
}
}
add_filter('allowed_block_types', 'ayudawp_bloques_permitidos_por_contenido', 10, 2);

En este código permitimos que en el editor de entradas cargue el editor de bloques, sí, pero solo con 3 bloques, el de párrafo, el de encabezados y el de imágenes, que suelen ser los que habitualmente usan los redactores de contenidos, aunque puedes añadir más (mira la lista de más abajo).

Si tienes que restringir bloques en otros tipos de contenido sería como en el siguiente ejemplo, en el que, además de la restricción en las entradas anterior, en el tipo de contenido project solo se puedan usar los bloques de lista y tabla: 

/* Permitir solo ciertos bloques en entradas */
function ayudawp_bloques_permitidos_por_contenido($allowed_block_types, $post) {
if ($post->post_type == 'post') {
return array(
'core/paragraph',
'core/heading',
'core/image'
);
}
elseif ($post->post_type == 'project') {
return array(
'core/list',
'core/table'
);
}
else {
return $allowed_block_types;
}
}
add_filter('allowed_block_types', 'ayudawp_bloques_permitidos_por_contenido', 10, 2);

Nota: Los códigos anteriores puedes añadirlos tanto al archivo functions.php del tema activo como a tu propio plugin de personalizaciones. Si tienes alguna duda revisa esta guía de cómo y dónde pegar códigos.

Si quieres añadir más bloques disponibles aquí tienes una lista de los bloques nativos de WordPress más habituales (no están todos):

Slugs de los bloques nativos de WordPress

Bloques comunes

  • core/paragraph – Párrafo
  • core/image – Imagen
  • core/heading – Encabezado
  • core/gallery – Galería
  • core/list– Lista
  • core/quote – Cita
  • core/audio– Audio
  • core/cover-image– Fondo
  • core/file– Archivo
  • core/video– Vídeo

Bloques de diseño

  • core/button – Botones
  • core/text-columns – Columnas
  • core/media-text – Medios y texto
  • core/more – Texto «Más…»
  • core/nextpage — Salto de página
  • core/separator – Separador
  • core/spacer – Espaciador

Bloques de formato

  • core/table – Tabla
  • core/verse – Verso
  • core/code – Código
  • core/freeform — Clásico
  • core/html — HTML personalizado
  • core/preformatted – Preformateado
  • core/pullquote– Bloque de cita

Bloques de widgets/especiales

  • core/shortcode – Shortcode
  • core/archives– Widget de archivo del blog
  • core/categories – Widget de lista de categorías
  • core/latest-comments – Widget de últimos comentarios
  • core/latest-posts– Widget de últimas entradas
  • core/query-post– Listado de contenidos

Bloques de incrustados

  • core/embed – Cualquier contenido incrustado

Quitar bloques disponibles según el perfil de usuario

La otra posible solución es controlar a qué bloques tiene acceso cada perfil de usuario, desactivando el resto, salvo para el administrador y editor.

El código sería como este:

/* Controlar bloques por perfil de usuario */
add_filter( 'allowed_block_types', 'ayudawp_bloques_por_usuario', 10, 2 );
function ayudawp_bloques_por_usuario( $allowed_blocks, $post ) {
$user = wp_get_current_user();
// Todos los bloques disponibles si el usuario es administrador
if ( in_array('administrator', $user->roles ) ) {
return $allowed_blocks;
}
// Todos los bloques disponibles si el usuario es editor
if ( in_array('editor', $user->roles ) ) {
return $allowed_blocks;
}
// Bloques permitidos si el usuario es autor
if ( in_array('author', $user->roles ) ) {
$allowed_blocks = array(
'core/image',
'core/paragraph',
'core/heading',
'core/list',
'core/cite',
'core/shortcode'
); 
return $allowed_blocks;
}
// Bloques permitidos si el usuario es colaborador
if ( in_array('contributor', $user->roles ) ) {
$allowed_blocks = array(
'core/paragraph',
'core/heading',
'core/list',
'core/cite'
); 
return $allowed_blocks;
}
return $allowed_blocks;
}

En el código anterior hemos definido así los bloques disponibles para cada perfil de usuario:

  • Administrador – Acceso a todos los bloques.
  • Editor – Acceso a todos los bloques.
  • Autor – Solo disponibles los bloques de imagen, párrafo, encabezado, lista y cita.
  • Colaborador – Solo disponibles los bloques de párrafo, encabezado, lista y cita.

¿Funciona?

Pues claro. Sea cual sea el método elegido controlarás totalmente qué bloques están disponibles en el editor según tipo de contenido o el perfil de usuario.

¡Chulo, eh!

¿No se puede hacer con plugins?

Pues sí, se puede hacer con algún plugin. Por ejemplo, Advanced Blocks, permite crear y editar perfiles, especificando a qué bloques, nativos o propios, tendrá acceso cada perfil de usuario.

La entrada Cómo quitar bloques del editor según el tipo de contenido o perfil de usuario la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.


Cómo mostrar las etiquetas dentro de los campos al finalizar compra en WooCommerce

$
0
0

Por defecto, todos los temas para WooCommerce muestran las etiquetas de los campos de la pagina de finalizar compra fuera de los campos, pues en realidad es el modo más correcto de hacerlo para facilitar la comprensión de los campos.

Ahora bien, hay ocasiones en las que preferirás que en una tienda online estas etiquetas se muestren dentro de los campos, casi siempre como un modo de ahorrar espacio en la página, ya que al ir las etiquetas dentro de los campos se aprovecha más el espacio de la misma.

Me refiero a esto:

¿Es mejor, es peor? Pues depende para qué.

  • Si hablamos de legibilidad y accesibilidad es mejor que las etiquetas estén fuera del campo, básicamente porque se leen mejor y siempre están visibles aunque el usuario esté introduciendo sus datos en los campos.
  • Si hablamos de optimización de la página de finalizar compra a nivel de usabilidad, en ocasiones será mejor que las etiquetas estén dentro del campo.

Al final tú eliges, pero si quieres mover estas etiquetas de los campos dentro de los campos es fácil de conseguir, solo tienes que añadir este código al archivo functions.php del tema hijo activo o a un plugin de funciones:

/* Etiquetas de los campos dentro del campo al finalizar compra */
add_filter( 'woocommerce_checkout_fields', 'etiquetas_dentro_finalizar_compra', 9999 );
function etiquetas_dentro_finalizar_compra( $fields ) {
foreach ( $fields as $section => $section_fields ) {
foreach ( $section_fields as $section_field => $section_field_settings ) {
$fields[$section][$section_field]['placeholder'] = $fields[$section][$section_field]['label'];
$fields[$section][$section_field]['label'] = '';
}
}
return $fields;
}

Guarda los cambios y ya lo tienes, las etiquetas de los campos movidas dentro de los mismos.

La entrada Cómo mostrar las etiquetas dentro de los campos al finalizar compra en WooCommerce la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Cómo compensar el desplazamiento a anclajes en el tema Astra si tienes cabecera fija

$
0
0

Uno de los trucos más demandados de Astra es el de hacer fija la cabecera, pero tiene un problema, y es que con la cabecera fija, si tienes una tabla de contenidos y haces clic para ir a cualquiera de sus anclajes, no te llevará al punto exacto, sino que irás un poco más abajo, pues la cabecera fija quedará encima del anclaje exacto.

Pero no pasa nada, esto tiene fácil solución, solo tienes que añadir una pequeña compensación, para que los enlaces a anclajes te lleven al punto exacto, restando la altura de tu cabecera fija.

Esto se arregla con un poco de CSS, así:

/* Compensar anclajes por cabecera fija */
:target:before {
content: "";
display: block;
height: 130px; /* altura de tu cabecera fija */
margin: -130px 0 0; /* altura negativa de tu cabecera fija */
}

Este código CSS tienes que añadirlo en la sección de CSS adicional del personalizador de WordPress, cambiando los valores de height y margin por la altura en píxeles de tu cabecera fija. Guardas los cambios y ya está.

La entrada Cómo compensar el desplazamiento a anclajes en el tema Astra si tienes cabecera fija la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Cómo desactivar la búsqueda en el directorio de bloques desde el editor de WordPress

$
0
0

Una de las novedades más recientes del editor de bloques – anteriormente conocido como Gutenberg – es la integración en el insertador de búsquedas en el directorio de bloques de WordPress.

Y vaya, sí, es cómodo, pues si estás buscando un bloque que insertar en tu contenido y, pongámonos en situación, no sabes qué bloques tienes disponibles, y resulta que no tienes nada parecido a lo que quieres insertar, pues el editor hace una búsqueda instantánea en el directorio de bloques y te ofrece los disponibles para instalar y activar en tu contenido.

Peroooo, como todo, tiene sus pegas:

  • Ralentiza la carga del editor de WordPress.
  • Permite añadir bloques a cualquier usuario con permiso de instalar y activar plugins (por defecto solo los admin pero no puedes discriminar más en detalle)
  • Fomenta la instalación indiscriminada de plugins.

Así que, en mi opinión, algo deberíamos hacer para controlar, o incluso desactivar, el instalador de bloques desde el directorio en el editor de WordPress ¿no te parece?

Desactivar completamente la instalación de plugins, de bloques o de lo que sea

Si nos ponemos radicales, con esta constante añadida al archivo wp-config.php desactivaremos completamente la instalación de plugins, de temas, la edición de archivos, vamos, tendremos un entorno seguro en cuanto a gestión de archivos desde la administración:

define('DISALLOW_FILE_MODS',true);

Desactivar completamente la búsqueda e instalación el directorio de bloques en el editor de WordPress

Ahora bien, aunque la constante de arriba funciona, aún no hemos solucionado el problema de la optimización, porque el editor seguirá haciendo llamadas mediante la API REST para buscar bloques desde el editor.

Así que no es necesario que seas tan extremo (aunque poder puedes), o puedes sumar al anterior truco este código, que deberás añadir tu plugin de personalizaciones:

/* Desactivar directorio bloques en el editor */
add_action( 'admin_init', function() {
remove_action( 'enqueue_block_editor_assets', 'wp_enqueue_editor_block_directory_assets' );
//remove_action( 'enqueue_block_editor_assets', 'gutenberg_enqueue_block_editor_assets_block_directory' ); /* Activa tambien esto si tienes activo el plugin Gutenberg */
} );

Con este código el editor ya no intentará siquiera buscar bloques en el directorio, solo buscará entre los bloques activos.

Desactivar según el entorno la búsqueda e instalación el directorio de bloques en el editor de WordPress

Un modo muy inteligente de desactivar la búsqueda en el directorio de bloques desde el editor sería hacerlo según el entorno de desarrollo definido en el archivo wp-config.php.

Así, si por ejemplo quieres tenerlo activo mientras estás desarrollando, para ir instalando los bloques que necesites, pero que esté inactivo cuando pases la web a producción, tendrías que añadir este código personalizado:

/* Desactivar directorio de bloques al pasar a produccion *(
add_action( 'admin_init', function() {
if ( wp_get_environment_type() != 'production' ) {
remove_action( 'enqueue_block_editor_assets', 'wp_enqueue_editor_block_directory_assets' );
//remove_action( 'enqueue_block_editor_assets', 'gutenberg_enqueue_block_editor_assets_block_directory' ); /* Activa tambien esto si tienes activo el plugin Gutenberg */ 
}
} );

Desactivar la búsqueda e instalación el directorio de bloques en el editor de WordPress según el usuario

Para finalizar, y tener un control total, una buena idea sería especificar qué usuario(s) debe(n) tener acceso al buscador integrado en el directorio de bloque, excluyendo a todos los demás, independientemente de su perfil de usuario.

El código sería así:

/* Restringir directorio de bloques por usuario */
add_action( 'admin_init', function() {
if ( ! in_array( wp_get_current_user()->user_login, array( '{{username}}' ) ) ) {
remove_action( 'enqueue_block_editor_assets', 'wp_enqueue_editor_block_directory_assets' );
//remove_action( 'enqueue_block_editor_assets', 'gutenberg_enqueue_block_editor_assets_block_directory' ); /* Activa tambien esto si tienes activo el plugin Gutenberg */ 
}
} );

En este código deberás cambiar {{username}} por el slug del usuario al que permites buscar e instalar bloques desde el editor. Eso sí, este usuario debe ser administrador, y no tener limitadas las capacidades de install_pluginsactivate_plugins.


Y ya, lo que buscabas lo consigues, que el editor de WordPress ya no haga búsquedas en el directorio de bloques para instalar más bloques.

La entrada Cómo desactivar la búsqueda en el directorio de bloques desde el editor de WordPress la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Para qué sirven la constante WP ENVIRONMENT TYPE y la función wp get environment type

$
0
0

En la versión 5.5 de WordPress se añadió una nueva función wp_get_environment_type para diferenciar acciones dependiendo del estado de un sitio WordPress: en producción, local, ensayos o en vivo.

Es una función especialmente útil para desarrolladores de plugins y temas o empresas de hosting que quieran lanzar acciones diferentes, dependiendo del estado de desarrollo de la web.

Valores de la función wp_get_environment_type

Dependiendo del estado de la web los distintos valores que se pueden utilizar son los siguientes:

  • local – Entornos de desarrollo local.
  • development – Entornos en fase de desarrollo.
  • staging – Entornos de pruebas/ensayos/staging.
  • production – Cuando la web ya está en producción/vivo.

Usos de la función wp_get_environment_type

Posibles uso que se me ocurren, y que pocos aún aplican salvo honrosas excepciones, podrían ser:

  • Empresas de hosting que, al crear un staging de tu web para desarrollo de nuevas funcionalidades, desactiven el indexado del staging y plugins que requieran conexión automática con servicios externos. Luego, al pasar de staging a producción reactivar todo de nuevo.
  • Plugins de SEO/Seguridad/Optimización que apliquen distintas configuraciones según el estado de desarrollo de la web. En esto ya están tardando.
  • Aplicaciones de instalación de WordPress en entornos locales que apliquen diferentes configuraciones para este tipo de estados de desarrollo.

Ejemplos de uso de wp_get_environment_type

Un ejemplo genérico de uso sería algo así:

switch ( wp_get_environment_type() ) {
case 'local': //Si el entorno es local
case 'development': //Si el entorno es en fase de desarrollo
no_hacer_nada();
break;

case 'staging': //Si el entorno es un ensayo/staging
hacer_algo_de_staging();
break;

case 'production': //Si el entorno ya es producción/vivo
default:
hacer_algo_de_produccion();
break;
}

Y, si nos planteamos algo concreto, podrías crear un mu-plugin que modificase el archivo robots.txt si la web está en producción, así:

<?php
/* Evitar rastreo de robots en producción */
if ( 'production' !== wp_get_environment_type() ) {
// Rastreo de robots.
add_filter( 'robots_txt', 'wpdocs_name_block_crawling', 999 );

// Activamos la opción de "Disuadir a los motores de búsqueda de indexar este sitio"
add_filter( 'pre_option_blog_public', '__return_zero', 999 );
}

/* Filtramos el archivo robots.txt para que evite el rastreo en entornos que no sean de producción */
function wpdocs_name_block_crawling( $output ) {
$output = '# El rastreo está bloqueado en no-producción' . PHP_EOL;
$output .= 'User-agent: *' . PHP_EOL;
$output .= 'Disallow: /';
return $output;
}

Chulo ¿eh?

Cómo establecer el tipo de entorno

Hay dos maneras de establecer en una instalación de WordPress el tipo de entorno, para que el plugin/tema/hosting pueda invocar acciones dependiendo de su estado mediante la función wp_get_environment_type.

Se procesan en el siguiente orden con cada opción secuencial anulando cualquier valor anterior:

  1. La variable PHP de entorno WP_ENVIRONMENT_TYPE
  2. La constante WP_ENVIRONMENT_TYPE.

Para ambos, si el valor del entorno no está en la lista de entornos permitidos, el valor por defecto será production.

Entornos de desarrollo en wp-config.php

La forma más sencilla es claramente definiendo la constante en el archivo wp-config.php:

define( 'WP_ENVIRONMENT_TYPE', 'development' );

Como vimos antes, los posibles valores son: local, development, staging o production, siendo este último el valor por defecto, así que si fuera el caso no hace falta añadir la constante.

Como nota adicional, cuando se define la constante WP_ENVIRONMENT_TYPE como development, se activa automáticamente el modo DEBUG.


Ya me contarás pero me parece la función wp_get_environment_type me parece realmente útil, especialmente para empresas de hosting y desarrolladores de plugins concienzudos ¿no crees?

En cualquier caso, espero que hoy hayas aprendido algo más sobre WordPress … que igual no conocías 🙂

La entrada Para qué sirven la constante WP ENVIRONMENT TYPE y la función wp get environment type la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Cómo personalizar la pantalla de acceso de WordPress sin plugins

$
0
0

Si quieres, otro día echamos un vistazo al montón de plugins que hay para personalizar la pantalla de acceso a WordPress, pero hoy vamos a ir a tope, a ofrecer una pantalla de login a nuestro WordPress totalmente a nuestro gusto, únicamente utilizando unos pocos códigos, cosa fina, de copiar y pegar 🙂

¿Por qué debería personalizar la pantalla de acceso de WordPress?

Hay varios motivos por los que deberías cambiar la pantalla de acceso a tu web WordPress, y los principales son estos:

  • No tiene el logotipo de tu marca sino el de WordPress.
  • El logotipo de WordPress enlaza a wordpress.org en vez de a tu web.
  • Faltan enlaces útiles personalizables.
  • No puedes elegir a qué página enviar a los usuarios tras acceder.
  • Los colores son aburridos y no encajan con la imagen de tu web.
  • Es muy sosa y triste

Pero vamos, el principal es que no está personalizado para que coincida con el aspecto y diseño de la web, y es un toque de distinción que siempre hay que ofrecer, especialmente en webs de clientes.

¿Dónde tengo que pegar los códigos para personalizar la pantalla de acceso de WordPress?

Cuando tenemos que copiar y pegar códigos WordPress para personalizar nuestra web casi siempre recomiendo usar el archivo functions.php del tema activo (que sea tema hijo, para no perder cambios al actualizar el tema) o en un plugin personalizado, dependiendo si la personalización depende o está relacionada con el tema (en el primer caso) o si la personalización es global de WordPress (en cuyo caso sería mejor con un mu-plugin).

Ahora bien, si tienes auténtica tirria a tocar códigos de tu tema o te da miedo lanzarte a hacer tu primer plugin, siempre puedes usar un plugin como Code Snippets, que ofrece una interfaz sencilla desde la que añadir fragmentos de código personalizados (snippets) y tenerlos controlados, ordenados, y poder activarlos o desactivarlos a golpe de clic.

Su uso es bien sencillo, como puedes ver en esta captura:

Luego puedes activar o desactivar fácilmente los fragmentos de código que hayas creado.

Personalizando la pantalla de acceso de WordPress

Vamos a ver cómo subsanar esas carencias de la pantalla de acceso de WordPress ayudándonos de unos pocos códigos, verás qué fácil es.

Personalizar el logo de acceso de WordPress

Lo primero de todo sería cambiar el logo de acceso, para que en vez del logotipo de WordPress se muestre el nuestro o el de nuestro cliente.

El código sería como este:

function ayudawp_mi_logo_login() { ?>
<style type="text/css">
#login h1 a, .login h1 a {
background-image: url(https://aulawp.com/web/wp-content/uploads/2021/10/logo-google-ayudawp.png);
height:132px;
width:320px;
background-size: 320px 132px;
background-repeat: no-repeat;
padding-bottom: 10px;
}
</style>
<?php }
add_action( 'login_enqueue_scripts', 'ayudawp_mi_logo_login' );

No copies y pegues el código anterior tal cual, pues debes hacer algunos cambios para personalizarlo para tu web:

  • Cambia la URL de background-image por la de tu logotipo, preferentemente en formato PNG de fondo transparente, para que se ajuste a cualquier fondo.
  • Cambia los píxeles del parámetro height a la altura real de tu imagen.
  • Cambia los píxeles del parámetro width al ancho de tu imagen.
  • Cambia los píxeles del parámetro background-size a los tamaños definidos en height y width anteriores.
  • Cambia el parámetro padding-bottom a los píxeles que quieras, simplemente añade un espacio entre el logotipo y la caja de relleno de datos.

Un par de consejos más:

  • Por defecto el tamaño reservado para el logotipo de la pantalla de acceso es cuadrado, de 80×80 píxeles, así que si no especificas altura y ancho como te he indicado antes tu imagen se verá muy pequeña, adaptada al espacio disponible (background-size)
  • Procura que la imagen no sea muy grande, de unos 300 píxeles de ancho como mucho, o el logotipo quedará demasiado grande en relación a la caja de introducción de datos, y quedará feo.

Por cierto, para saber la URL de tu logotipo, tras subirlo a la pantalla de medios de la administración de WordPress, haz clic en la imagen y ahí tendrás un campo con la URL, para que la copies y pegues en el fragmento de código que hemos visto arriba.

WordPress es tan majete que incluso te ofrece un botón para copiar la URL 🙂

Una vez guardados los cambios en nuestro fragmento de código tendremos una pantalla de acceso que, ahora sí, mostrará nuestra marca.

Mono ¿eh?

Personalizar la URL del logo de acceso de WordPress

Ahora que ya tenemos el logo a nuestro gusto vamos a cambiar la URL a la que enlaza, que como he dicho antes, por defecto te llevaría a WordPress.org, y normalmente lo lógico sería que llevase a la portada de nuestra web ¿no?

Pues apunta este código:

function ayudawp_mi_logo_login_url() {
return 'https://ayudawp.com/';
}
add_filter('login_headerurl', 'ayudawp_mi_logo_login_url');

Como ya habrás imaginado viendo el código, aquí solo hay un cambio que hacer. ¡Exacto! cambia la URL de ejemplo (https://ayudawp.com/) por la tuya.

Guarda y ya lo tienes…

¡A tope!

Personalizar el título de la URL del logo de acceso de WordPress

Como toque adicional de personalización al anterior también podemos añadir un texto emergente que se mostrará al pasar el cursor sobre nuestro nuevo y flamante logo, por ejemplo:

function ayudawp_mi_logo_login_url_texto() {
return 'Volver al curso de WordPress Online';
}
add_filter('login_headertitle', 'ayudawp_mi_logo_login_url_texto');

En este código solo tienes que cambiar el texto personalizado a continuación de return por el que tú quieras.

Añadir enlaces personalizados debajo del formulario de la pantalla de acceso de WordPress

Ya te habrás dado cuenta de que, por defecto, WordPress muestra varios enlaces bajo el formulario de la pantalla de acceso:

  • ¿Has olvidado tu contraseña?
  • Ir a ‘Nombre de tu web’
  • Política de privacidad (si la has creado y configurado correctamente en los ajustes de WordPress)

Pero ¿y si quieres añadir tus propios enlaces personalizados en ese área?, pues para eso estamos.

function ayudawp_mi_login_enlaces() { ?>
<p style="text-align: center; margin-top: 1em;">
<a style="color: #4da28f; text-decoration: none;" href="https://ayudawp.com/">Si quieres aprender WordPress desde cero visita el blog &rarr;
</a>
</p>
<?php }
add_action('login_footer','ayudawp_mi_login_enlaces');

En este código estamos añadiendo, con algo de estilo por supuesto, un texto con enlace personalizado. Simplemente cambia el texto y el enlace, incluso los colores, por lo que tú quieras, o incluso añade otros párrafos con más enlaces, por ejemplo:

function ayudawp_mi_login_enlaces() { ?>
<p style="text-align: center; margin-top: 1em;">
<a style="color: #4da28f; text-decoration: none;" href="https://ayudawp.com/">Si quieres aprender WordPress desde cero visita el blog &rarr;
</a>
</p>
<p style="text-align: center; margin-top: 1em;">
<a style="color: #4da28f; text-decoration: none;" href="https://mantenimiento.ayudawp.com/">También ofrecemos servicios de mantenimiento WordPress &rarr;
</a>
</p>
<?php }
add_action('login_footer','ayudawp_mi_login_enlaces');

Lo que obtienes es esto:

Imagen personalizada de fondo en la pantalla de acceso de WordPress

Otra personalización muy chula que puedes hacer es añadir una imagen de fondo personalizada en la pantalla de login de WordPress.

El código a añadir sería así:

function ayudawp_mi_login_fondo() {
echo '<style type="text/css">
body.login{
background-image: url( "https://aulawp.com/web/wp-content/uploads/2021/02/section-bg-2.jpg" )!important;
}
</style>';
}
add_action('login_head', 'ayudawp_mi_login_fondo');

Solo tienes que cambiar la URL de la imagen de fondo del ejemplo por la que tú quieras poner.

Y obtendrías algo así de impactante…

Color de fondo y formulario personalizados en la pantalla de acceso de WordPress

Si prefieres algo menos radical que añadir una imagen de fondo, una opción muy buena sería personalizar los colores de fondo y del formulario de la pantalla de login de WordPress.

Se haría con un código como este:

function ayudawp_colores_fondo_login() {
echo '<style type="text/css">
body { background: #b6d5ed; }
.login form { background: #fcf499; }
</style>';
}
add_action('login_head','ayudawp_colores_fondo_login');

La pantalla de acceso quedaría tal que así…

Para el ejemplo he puesto unos colores quizás demasiado llamativos, pero esos ya los cambias tú (los códigos de colores a continuación de background:) en el código a tu gusto.

Redirección personalizada tras acceder a WordPress

Por defecto, cuando cualquier usuario accede desde la pantalla de login de WordPress es enviado a la zona de administración de la web, pero ¿y si quieres que eso no funcione así?

Podríamos, como en este ejemplo, hacer una redirección condicional, dependiendo del perfil del usuario que accede:

  • Si el usuario tiene perfil de administrador (administrator) redirigirle a la administración de WordPress.
  • Si el usuario tiene cualquier otro perfil que no sea el de administrador redirigirle a la portada de la web.

El código sería este:

function ayudawp_mi_login_redireccion( $redirect_to, $request, $user ) {
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
if( in_array('administrator', $user->roles)) {
return admin_url();
} else {
return site_url();
}
} else {
return site_url();
}
}
add_filter('login_redirect', 'ayudawp_mi_login_redireccion', 10, 3);

Funciona tal cual, no tienes que modificar nada en este código, si acaso añadir algún perfil más (editor, author) al in_array, si quieres que también a estos perfiles se les redirija a la administración.


Bueno, pues espero que hayas aprendido a personalizar la pantalla de acceso de WordPress a tope y que tu login ya no vuelva a ser el de siempre. Ya me contarás qué tal te ha quedado 🙂

La entrada Cómo personalizar la pantalla de acceso de WordPress sin plugins la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

WooCommerce: Cómo desactivar todas las pasarelas de pago al finalizar compra

$
0
0

Hay algunos tipos de tienda en las que, aunque les facilite la vida a la hora de crear productos y mostrarlos el hecho de usar WooCommerce, en realidad no necesitan o no quieren recibir pagos online, no necesitan pasarelas de pago, solo un modo de recibir pedidos de los clientes, que posteriormente cobrarán por otros medios.

Si es tu caso, como el de una lectora que me preguntaba por algo así el otro día en YouTube, que sepas que es muy fácil conseguir que no se muestre ninguna pasarela de pago al finalizar compra en tu tienda online WooCommerce.

Cómo no hacerlo: Desactivar todas las pasarelas de pago

Aunque se te haya pasado por la cabeza, simplemente desactivar todas las pasarelas de pago no soluciona tu necesidad, porque sí, puedes desactivar todas las pasarelas de pago, o simplemente no activarlas en los ajustes de WooCommerce.

Pero cuando un cliente llegue a la página de finalizar compra, para terminar su pedido, aparentemente ahí seguirá el botón de realizar el pedido, pero el sistema no le dejará enviarlo, mostrando un error.

Y lo que queremos es que sí, que llegue ahí, pero que WooCommerce le deje hacer el pedido, pero sin necesidad de pasarelas de pago.

Así que el proceso es distinto.

Cómo sí hacerlo: Permitir que WooCommerce realice pedidos sin pasarela de pagos

El modo de conseguir este propósito de que WooCommerce deje hacer pedidos sin necesidad de pasarelas de pago es dejar las pasarelas que tengas, como las tengas, activas o inactivas, pero añadiendo el siguiente código, que hará la magia:

/* Desactivar todas las pasarelas de pago al finalizar compra */
add_filter( 'woocommerce_cart_needs_payment', '__return_false' );

Para saber cómo añadir este código a tu WordPress revisa esta sencilla guía:

Cómo y dónde pegar en WordPress códigos PHP, JS, CSS y funciones que encuentres por ahí

Cuando apliques el código, ahora WooCommerce ya sí dejará a los clientes realizar el pedido, sin necesidad de pasarela de pago.

El pedido se realizará normalmente.

Incluso se enviarán los emails correspondientes al gestor de la tienda y al cliente.

Y el pedido quedará en estado de «Procesando» para que el gestor de la tienda lo complete cuando tenga el pago, el pedido enviado, o cómo decida que lo administre.

La entrada WooCommerce: Cómo desactivar todas las pasarelas de pago al finalizar compra la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Cómo cambiar el diseño de las listas en el tema Astra

$
0
0

Estarás conmigo en que los estilos de las listas de elementos en Astra son bastante sosos, minimalistas siendo generosos. Vamos, que son feos y no aportan nada, no destacan.

¿Te animas a cambiarlos?

El diseño por defecto de las listas en Astra

Con el tema Astra activo, da igual si es la versión gratuita o la Pro, cuando creas una lista de elementos en el editor, por ejemplo:

No es que el aspecto las mismas sea, digamos, espectacular…

¿Le damos algo de color?

Personalizar el diseño de listas de elementos en Astra

Ayudándonos de un poco de CSS podemos darles algo o mucho más de alegría, color, y atraer atención hacia nuestras listas de elementos, ordenados o sin ordenar.

Por ejemplo ¿qué te parece este otro aspecto?

Mucho más vistosos esos números y listas con un color de fondo y algo de estilo ¿a que reclaman más atención?

Bien, pues para conseguir esos efectos solo tienes que añadir el siguiente código CSS en la sección de CSS adicional del Personalizador de WordPress:

/* Estilos lista ordenada */ 
.entry-content ol {
counter-reset: my-ol-counter;
margin-left:1.5em; 
}
.entry-content ol li {
position: relative;
padding-left: 30px;
list-style: none; 
} 
.entry-content ol li:before {
position: absolute;
top:50%;
left: 0;
width: 20px;
height: 20px;
margin-top: -10px;
color: #fff;
text-align:center;
background-color: #28769d;
content: counter(my-ol-counter,decimal);
counter-increment: my-ol-counter;
font-size: 11px;
-webkit-border-radius: 50%;
border-radius: 50%; 
}

/* Estilos lista desordenada */ 
.entry-content ul {
margin-left:1.5em;
}
.entry-content ul li {
position: relative;
padding-left: 30px;
list-style: none; 
}
.entry-content ul li:after{
position: absolute;
top: -webkit-calc( 50% - -1px);
top: calc( 50% - -1px);
left: 0; width: 20px;
height: 20px;
margin-top: -10px;
padding-top: 2px;
color: #fff;
text-align:center;
background-color: #28769d;
content: "\e900";
font-size: 11px;
font-family: 'Astra';
-webkit-border-radius: 50%;
border-radius: 50%;
-webkit-transform: rotate(270deg);
-ms-transform: rotate(270deg);
transform: rotate(270deg); 
}

O sea, lo copias y lo pegas aquí:

Publicas los cambios y ya lo tienes. Monísimas las listas ¿verdad?

Ahora, si quieres cambiar colores, tamaño, estilos, etc., solo tienes que hacer modificaciones en el CSS de ejemplo para adaptarlo a los estilos y colores de tu web. Quedará genial, y conseguirás más atención sobre tus listas de elementos.

La entrada Cómo cambiar el diseño de las listas en el tema Astra la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.


PHP básico y sencillo que todo usuario de WordPress debería conocer

$
0
0

Si queremos crecer en nuestro dominio de WordPress no vale solo con aprender a usar el editor de bloques, ni siquiera con hacernos unos fieras de Divi o Elementor.

Para dominar de verdad WordPress, o cualquier herramienta de creación web, debemos aprender al menos los básicos de los componentes de la herramienta que, en el caso de WordPress, podríamos resumir en:

  • HTML
  • CSS
  • PHP

Es cierto que no es necesario conocer estos lenguajes de programación para crear webs con WordPress, pero si los añadimos a nuestro arsenal nuestro límite será el cielo, no habrá nada que no podamos hacer en una web, y nuestro potencial y confianza de cara a abordar proyectos web será ilimitado.

Ya vimos hace tiempo el HTML básico y el CSS básico que todo usuario de WordPress debería conocer, así que hoy vamos a adentrarnos en la base que hace que todo se mueva, en el PHP básico que nos hará comprender de verdad WordPress y su funcionamiento, además de permitirnos adentrarnos en el mundo de la programación en todo su amplitud.

Espero que con esta guía sobre el PHP básico y sencillo te animes a aprender aún más, para dominar completamente WordPress, esta fantástica herramienta que es la que impulsa más del 40% de toda la Web.

Como siempre, empecemos por el principio…

Qué es PHP

PHP es algo que WordPress utiliza para poder funcionar. Es un lenguaje de programación, y el lenguaje en el que se escribe el código del lado del servidor de WordPress. (En el navegador web tanto de los administradores como de los visitantes, WordPress suele utilizar también lenguajes llamados HTML, CSS y JavaScript).

PHP fue uno de los primeros y más populares lenguajes que la gente ha utilizado para crear documentos HTML (también conocidos como «páginas web»).

En resumen: PHP es un lenguaje de programación lógica que se puede utilizar para controlar el HTML que muestra una página, ya sea en WordPress o fuera de él.

Los archivos que componen tanto los temas como los plugins de WordPress utilizan en su mayoría PHP para construir las páginas que ves cuando visitas un sitio WordPress en tu navegador web.

Aprende PHP para WordPress y podrás modificar y crear temas y plugins

Tanto los plugins como los temas de WordPress utilizan mucho PHP.

Esencialmente, todo lo que hace un plugin es gracias al código PHP. Para un tema de WordPress, algunas funcionalidades provienen del PHP de WordPress y otras estarán en el PHP que escribas en los archivos de tu plantilla del tema.

Generalmente necesitarás menos experiencia en PHP para hacer buenos temas que buenos plugins para WordPress, pero es una habilidad importante en cualquier caso.

Aunque no entraremos mucho en esto en este tutorial básico de PHP para WordPress, para aquellos que quieran saberlo, la forma básica en que funcionan los plugins de WordPress es con los hooks de WordPress: acciones y filtros. Si ya entiendes lo que son las funciones, las variables y las cadenas de PHP, puedes saltar directamente a eso con esta guía:

Hooks: Ganchos, filtros y acciones de WordPress ¿qué son y cómo se usan?

¿Por dónde empezar en un tutorial de PHP para principiantes?

PHP comenzó como una forma de crear HTML más dinámico.

Como tal, sabrás que estás escribiendo PHP, y no HTML, en un archivo .php porque estará rodeado de lo que comúnmente se llama «etiquetas PHP».

Estas etiquetas PHP son elementos que separan a PHP de su HTML, y viceversa. No obstante, siempre existe cierta interacción.

Aquí tienes un ejemplo:

<!-- archivo.php -->
<html>
<?php echo 'Hola, esto es PHP'; ?>
</html>

¿Qué mostraría la carga de file.php desde tu servidor web en tu navegador? Mostrará las palabras, «Hola, esto es PHP». (La palabra «echo» en PHP esencialmente permite que algo salga del territorio PHP y se muestre en la página).

Es más, si ves el código fuente de la página en ese navegador, también verás que se muestran las etiquetas de apertura y cierre <html>. Cuando no se controla, se muestra todo el HTML de un archivo PHP en el navegador.

Última nota: Esa primera línea, que comienza <!-- es un comentario HTML. Los comentarios son líneas de código que no deberían hacer nada, pero que pueden ayudarte a ti o a otro programador a entender el programa en el futuro.

En PHP, la mayoría de los comentarios se separan con barras diagonales, // Comentar aquí, o con caracteres /* */, como aquí:

<?php
/*
Nada de estas líneas mostrará
ni hará nada
*/
echo 'Esto no es un comentario'; // Lo que está a la izquierda se ejecutará, pero no este texto
// Ni tampoco esto
?>

También querrás tener en cuenta que nuestra línea de echo termina con un punto y coma. Todas las líneas de PHP generalmente terminan con un { (del cual hablaré más adelante) o con un punto y coma ;.

Las declaraciones como echo siempre deben terminar con un punto y coma. Esta es una convención algo inusual en muchos lenguajes de programación.

Variables, integradores y cadenas

Acabamos de mostrar tu primer tipo de datos PHP: la cadena. Una «cadena» es un término común del lenguaje de programación para una secuencia de caracteres.

En nuestro caso específico anterior, nuestra cadena era la secuencia de caracteres «Hola, esto es PHP». En PHP, una cadena puede diferenciarse de otras palabras (las que son sólo el programa en sí) mediante comillas simples o comillas dobles. Así que ambas son iguales:

<?php 
$val = "Hola, lector de AyudaWP.com";
$val = 'Hola, lector de AyudaWP.com';
echo $val;

¿Qué hará lo anterior? Mostrará «Hola lector de AyudaWP.com» en tu navegador web.

¿Cómo? Mediante el uso de una variable. ¿Qué es una variable? Gran pregunta. Una variable es un valor almacenado.

Este término es común en la mayoría de los lenguajes de programación, incluyendo PHP. Las variables pueden ser muchas cosas: cadenas, números enteros (por ejemplo, 1, 2, 99, 12931298), números de punto flotante (0.123, 4.39, 6.928348723074082370974092384), cosas llamadas arrays u objetos, y mucho más.

En PHP, todos los nombres de variables comienzan con un signo de dólar ($). Luego tendrán al menos un carácter después de ese signo de dólar, que es único.

Si tú, como hacemos arriba, estableces (usando el signo igual) una variable dos veces (o más), siempre tendrá el valor establecido más tarde. Puedes usar esto para «variar» el valor de una variable. (El código anterior no lo hace).

También observarás que en el último ejemplo de código no teníamos una «etiqueta PHP de cierre» ?>. Esto se debe a que éstas no son estrictamente necesarias al final de un archivo .php. A veces se usan, pero si no vas a volver al «territorio HTML», es una buena práctica que no uses etiquetas PHP de cierre al final de los archivos.

Funciones: Dónde todos empezamos a aprender PHP para desarrollar WordPress

Otra cosa que debemos cubrir para completar nuestro pequeño tutorial de PHP para WordPress, son las funciones.

Las funciones en PHP son esencialmente otro nombre para los «procedimientos almacenados». Un procedimiento almacenado puede ser algo tan simple como una suma, que añade dos valores juntos, o una función «visualizadora» que sólo muestra una cadena específica.

Una función básica de suma en PHP se definiría así:

function add($first_number, $second_number) {
return $first_number + $second_number;
}
$value = add(1, 3); // $value se convierte en 4
echo $value; // muestra $value en el HTML/navegador

La palabra function le indica a PHP que lo siguiente que debe ver será el nombre de la función. Luego hay paréntesis con lo que se llama «argumentos» o «parámetros». Una función puede no tener parámetros, lo que se vería como function no_arguments() {}.

Finalmente, la mayoría de las funciones devolverán algo, aunque no tienen que hacerlo. En PHP, una función devuelve el una (1) cosa. En nuestro caso, nuestra función devuelve un número.

Es importante saber que el valor de return no se muestra en el navegador por defecto. En cambio, puede mostrarse con echo, guardado en una variable como $value, o tener otras operaciones realizadas en él.

Es por eso que en el código anterior HTML no mostraría nada de nuestro código PHP hasta que hiciéramos nuestro echo $value, que muestra el valor almacenado en la variable $value, que para este código específico será 4.

Condicionales básicas: if, then, else

Otra cosa de la que obtendrás mucho valor cuando aprendas PHP para WordPress es llegar a entender las declaraciones condicionales. Si eres capaz de vivir el día a día es que entiendes la lógica condicional.

Y una de las cosas divertidas y sorprendentes de aprender PHP para la mayoría de los principiantes es la agradable sorpresa de cómo la lógica condicional «normal» en PHP (y muchos otros lenguajes) es como el pensamiento normal, eso sí, en inglés.

La sintaxis es más o menos así:

$value = 5;
if ($value > 5) {
ejecutar_funcion();
} else {
echo 'Demasiado poco';
}

En el código PHP anterior, ¿qué pasará?

  1. La función ejecutar_funcion sin parámetros es llamada y ejecutada, o…
  2. ¿Se imprimirá la cadena «Demasiado poco» en el HTML?

Si adivinaste que se hará una llamada a la función (#1), puedes haber olvidado que > es un signo «mayor que», y que 5 no es «mayor que» 5.

Pienso en el código anterior como si dijera «Si $value es mayor que 5, llama a la función ejecutar_funcion. En caso contrario, haz echo de 'Demasiado poco'».

Nota aclaratoria: En inglés, if equivale al condicional si en español, then equivale a entonces y else equivale a en caso contrario.

Otros condicionales: endif y endwhile

También debes tener en cuenta que en el ejemplo de código anterior, nuestra lógica estaba limitada por «corchetes», {}.

Esto es común en PHP, y en muchos otros lenguajes. Estos corchetes son un delimitador único y útil de la diferencia entre diferentes condiciones.

En PHP, debido a que a menudo se mezcla con HTML, a veces lógicamente tendrá un corchete de cierre <?php } ?>. Esto es molesto y difícil de entender.

Así que, especialmente en situaciones con mucho HTML (como los archivos de plantillas de temas WordPress), a mucha gente le gusta usar un tipo de condición más expresiva. Por ello, las siguientes líneas se parecen a las anteriores:

$value = 5;
if ($value > 5):
ejecutar_funcion();
else: ?>
Too small
<?php endif; ?>

Hay algunos cambios importantes aquí. El más importante es que hemos cambiado los corchetes por dos puntos : y un endif;.

Funcionan igual, pero uno de ellos deja bien claro el cierre de la etiqueta.

Los corchetes son problemáticos, especialmente cuando se ha pasado de HTML a PHP y viceversa. Esto es común en los archivos de temas WordPress, debido a lo que se llama etiquetas condicionales de WordPress.

Pero antes de llegar a eso: El otro cambio que hicimos es que cambiamos echo 'Demasiado poco'; en simplemente las palabras literales «Demasiado poco», fuera de las etiquetas PHP. Hacer echo desde el código PHP es lo mismo que simplemente poner un valor fuera de las etiquetas PHP en un archivo.

La misma lógica de PHP se aplica en esos escenarios. Así que en este caso, «Demasiado poco» sólo se mostraría cuando $value fuera menor o igual a 5.

PHP y HTML para desarrollo de temas

Los motivos principales para entender etiquetas PHP como endif es que las verás mucho en los archivos PHP de los temas WordPress. Aquí hay un pequeño fragmento de uno:

<header class="entry-header">
<?php
if ( is_singular() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' );
endif;
?>
</header><!-- .entry-header -->

Hay muchas cosas que no necesitas entender aquí, pero quiero ayudarte a entender algunas partes. Es una extraña mezcla de HTML, como <header>, y PHP.

Lo más importante que hay que aprender de él: El hecho de que las etiquetas PHP terminan y comienzan dentro del documento (el archivo template-parts/content/content.php del tema Twenty Nineteen), y que se llama a una función de «etiqueta condicional de WordPress» llamada is_singular para cambiar el marcado de una función que muestra el título de la entrada en WordPress.

La función que muestra el título de WordPress se llama «el título», y sus argumentos aquí son el marcado específico de the_title() (para antes y después de lo que introdujiste en su campo «Título»).

Este código contiene HTML en cadenas de PHP (algo común en WordPress), y utiliza una «etiqueta de plantilla de entrada» y una «etiqueta condicional de WordPress». Es algo que se ve mucho en WordPress.

Resumiendo

Si este ha sido tu primer tutorial de PHP, ¡felicidades por haber llegado hasta aquí! Estoy seguro de que te sientes un poco perdido.

Abarqué mucho rápidamente, y si tu cerebro es como el mío, todo te habrá parecido un poco… abstracto. Esa es la primera parte que es difícil de aprender PHP para los principiantes.

Creo que la cosa más importante que debes hacer si estás tratando de aprender PHP para el desarrollo de WordPress es probar algún código de WordPress por tu cuenta. Las cosas que aprendes cuando resuelven tu problema son mucho más fáciles de recordar que si yo (u otros escritores) te contamos esa información 100 veces.

El uso de PHP en WordPress es algo que requiere mucha práctica y trabajo. Pero también hace que seas más valioso para posibles clientes, para ti mismo en el mantenimiento de tus propios sitios WordPress, y hace posible que colabores con el propio WordPress.

Y no es que vayas a conseguirlo de inmediato. Esto ha sido «PHP básico y sencillo», al fin y al cabo. Pero creo que es un buen momento para ponerte en marcha y aprender PHP para WordPress.

¿Quieres seguir aprendiendo PHP?

Si quieres continuar esta aventura de dominar el desarrollo de WordPress, aprendiendo PHP, aquí tienes algunos recursos que pueden ayudarte en el camino:

La entrada PHP básico y sencillo que todo usuario de WordPress debería conocer la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Cómo cambiar el símbolo de moneda en WooCommerce

$
0
0

El otro día me preguntaba un lector del blog que si se podía cambiar el símbolo de moneda en WooCommerce, porque en su caso WooCommerce usa el mismo símbolo ($) para el dólar estadounidense y el peso argentino.

Le di una solución momentánea pero hoy quiero ampliarla un poco, por si tuvieses una necesidad similar.

Cambiar el símbolo de divisa en WooCommerce con códigos

Vamos a empezar con lo más sencillo, que sería cambiar solamente un símbolo de moneda de WooCommerce. El código sería así:

/* Cambio de simbolo de dolar */
add_filter('woocommerce_currency_symbol', 'ayudawp_cambiar_simbolo_dolar', 10, 2);
function ayudawp_cambiar_simbolo_dolar( $currency_symbol, $currency ) {
switch( $currency ) {
case '$': $currency_symbol = 'USD'; break;
}
return $currency_symbol;
}

Este sería el ejemplo concreto que me pedía el lector, donde cambiamos el símbolo por defecto del dólar ($) a USD, para distinguirlo de otros, como el del peso argentino.

Ahora vamos a ver otro ejemplo, con una variación del código anterior, pero en este caso para cambiar varios símbolos de moneda:

/* Cambio de simbolo de divisas */
add_filter('woocommerce_currency_symbol', 'ayudawp_cambiar_simbolo_divisas', 10, 2);
function ayudawp_cambiar_simbolo_divisas( $currency_symbol, $currency ) {
switch( $currency ) {
case '$': $currency_symbol = 'USD'; 
break;
case '€': $currency_symbol = 'EURO'; 
break;
case '£': $currency_symbol = 'POUND'; 
break;
case '¥': $currency_symbol = 'YEN'; 
}
return $currency_symbol;
}

Aquí hemos añadido otra serie de cambios, además del del primer ejemplo.

Otro modo de conseguir el mismo resultado sería mediante declaraciones condicionales if, así:

/* Cambio de simbolo de divisas */ 
add_filter('woocommerce_currency_symbol', 'ayudawp_cambiar_simbolo_divisas', 10, 2);
function ayudawp_cambiar_simbolo_divisas( $currency_symbols, $currency ) {
if ( 'USD' === $currency ) {
return 'USD';
}
if ( 'EUR' === $currency ) {
return 'EURO';
}
if ( 'GBP' === $currency ) {
return 'POUND';
}
return $currency_symbols;
}

En este tipo de código debes indicar primero el código de moneda usado por WooCommerce para la divisa que quieres modificar (if ('CODIGO' === $currency)), y luego hacer return de lo que quieres mostrar en su lugar.

Si no conoces los códigos de divisa que utiliza WooCommerce son todos estos.

¿Cómo añado estos códigos?

Si no sabes cómo añadir estos u otros códigos te animo a revisar esta sencilla guía de cómo copiar y pegar códigos en WordPress

Cómo y dónde pegar en WordPress códigos PHP, JS, CSS y funciones que encuentres por ahí

Cambiar el símbolo de divisa en WooCommerce con plugins

Si prefieres usar un plugin para cambiar los símbolos de moneda en WooCommerce, hay uno que sirve para cambiar el símbolo de la moneda activa por defecto en WooCommerce. No es tan completo como con los códigos anteriores pero podría servirte si solo quieres cambiar el símbolo de la moneda actual.

Se llama Change Currency Symbol y es muy fácil de usar. Cuando lo hayas instalado y activado, ve a los ajustes generales de WooCommerce y, en la sección de opciones de moneda verás un nuevo ajuste en el que indicar el símbolo por el que quieres sustituir el de la moneda actual de los ajustes.

Guarda los cambios y ya lo tienes.

La entrada Cómo cambiar el símbolo de moneda en WooCommerce la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.





Latest Images