Plugins y algunos trucos para WP

Desactivar el modo venta en Woocomerce (Sólo catálogo)

Desactivar el modo venta en Woocomerce (Sólo catálogo)

El siguiente código nos permitirá usar nuestro Woocomerce pero sólo como catálogo, eliminando los accesos de «añadir a carrito de la compra», con lo que podemos usar nuestro Woocomerce como sólo en forma de catálogo, mostrando los artículos y precio, pero sin posibilidad de comprar.

Como siempre, iremos a nuestro archivo funtions.php y añadiremos lo siguiente:

//Código para deshabilitar el botón de "Añadir al carrito" de la página de listado de productos:
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );

//Código para deshabilitar el botón de «Añadir al carrito» de la página individual de cada producto:
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );

Otra historia sería desactivar las páginas de Carrito, Mi cuenta, etc…pero sólo lo podéis hacer desde Apariencia-Menús o bien con algún plugin.

Espero que os sirva!


Permitir el acceso sólo a una IP a nuestro panel de administración de WordPress

Permitir el acceso sólo a una IP a nuestro panel de administración de WordPress

Muchas son las amenazas que sufren los WordPress y otro tipo de webs.
Hoy os explicaré el truco que he usado para uno de mis clientes:

-Restringir el acceso al archivo login.php para que sólo una o varias IP puedan acceder. De esta manera descartamos cualquier tipo de ataque de fuerza bruta a este archivo.

La web podrá verla todo el mundo, pero sólo podrán acceder al wp-admin los que se conecten desde las IP’s que digamos. No hay que decir que sobre todo se usa para personas que tengan una IP fija, los que tienen IP dinámica han de estar cambiando la IP cada vez que el proveedor se la cambia.

El código se ha de poner el archivo .htaccess:
<Files wp-login.php>
Order deny,allow
Deny from all
Allow from 63.46.19.351
Allow from 69.168.237.136
</Files>

En este caso sólo damos acceso a dos IP’s.

Espero que os haya servido como a mí!


Usar shortcode como código de PHP en WordPress

Usar shortcode como código de PHP en WordPress

En principio los shortcodes sólo se pueden usar en los widgets, o eso me pensaba yo hasta hace muy poco.
Si tocamos el código de nuestras páginas de PHP podemos usarlos de una manera bien fácil.

Simplemente usando la función do_shortcode de esta manera:

  <?php echo do_shortcode('&#91;shortcode&#93;'); ?>

¿Sencillo verdad?


Custom Fields o campos personalizados en Woocomerce, ejemplo CIF/NIF

Custom Fields o campos personalizados en Woocomerce, ejemplo CIF/NIF

 

////////18-7-2016—–NO FUNCIONA CON LA NUEVA VERSIÓN DE WOOCOMMERCE—– 18-7-2016/////////////

 

Como no hay manera de añadir el campo CIF/NIF en los datos de pedido de Woocomerce sólo nos quedan dos maneras de hacerlo.

-Pagar los 49 dólares para descargar el plugin woocommerce-checkout-field-editor o bien arriesgarnos a tocar código.

En mi caso me urge crear un campo personalizado CIF/NIF para poder generar después las facturas.

Pasos necesarios, (todo los códigos se añaden al archivo functions.php)

<?php
/**
 * Añadir el campo cuando se hace el pedido. Por defecto lo hará a continuación de los datos actuales
 **/
add_action('woocommerce_after_order_notes', 'my_custom_checkout_field');

function my_custom_checkout_field( $checkout ) {

    echo '<div id="my_custom_checkout_field"><h2>'.__('CIF/NIF').'</h2>';

    woocommerce_form_field( 'CIF/NIF', array(
        'type'          => 'text',
        'class'         => array('my-field-class form-row-wide'),
        'placeholder'       => __('Introduzca el CIF/NIF'),
        ), $checkout->get_value( 'CIF/NIF' ));

    echo '</div>';

}

/**
 * Comprobación de que no se deja en blanco, omitir si es un campo opcional
 **/
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');

function my_custom_checkout_field_process() {
    global $woocommerce;

    
    if (!$_POST['CIF/NIF'])
         $woocommerce->add_error( __('RELLENE EL CIF/NIF.') );
}

/**
 * Actualizar el campo personalizado en la base de datos
 **/
add_action('woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta');

function my_custom_checkout_field_update_order_meta( $order_id ) {
    if ($_POST['CIF/NIF']) update_post_meta( $order_id, 'CIF/NIF', esc_attr($_POST['CIF/NIF']));
}

/**
* Visualizarlo en la orden del pedido
**/
add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );
 
function my_custom_checkout_field_display_admin_order_meta($order){
echo '<p><strong>'.__('CIF/NIF').':</strong> ' . $order->order_custom_fields['CIF/NIF'][0] . '</p>';
}?>

Con todo esto tendremos el campo CIF/NIF para introducir como campo obligatorio, y una vez se haga el pedido, al ir a la orden que se genera, lo tendremos como dato de facturación. Para poder modificarlo desde esta página, en la parte de abajo podremos modificarlo desde el desplegable de campo personalizado.

¿Que más faltaría? Quizás cambiar el lugar donde aparece el campo para rellenar, y que se enviase tambien por Email al cliente…pero eso ya es otra historia.


Contenido exclusivo para usuarios registrados en WordPress

Contenido exclusivo para usuarios registrados en WordPress

Mucho más fácil de lo que imaginaba, usando los famosos shortcodes, sólo tenemos que añadir esto a nuestro ya famoso functions.php:

<?php add_shortcode( 'ocultar', 'ocultar_texto_invitados' );

function ocultar_texto_invitados( $atts, $content = null ) {
      if ( is_user_logged_in() && !is_null( $content ) && !is_feed() )
      return $content;
      return '<h2>...fin del contenido para usuarios no registrados... </h2>';
} add_action( 'after_setup_theme', 'et_setup_theme' );
?> 

Una vez hecho esto, solo poniendo los shortcodes de [ocultar] contenido que queremos sólo para usuarios[/ocultar], ya lo tendremos, incluso en la propia función podemos poner algún texto o enlace para animar a la gente para que se registre y pueda ver los contenidos.

Es sin duda una manera fácil de tener contenido privado en tu WordPress sólo al alcance de tus usuarios que esten registrados.


Members, plugin para crear perfiles de usuario en WordPress y gestionar permisos

Members, plugin para crear perfiles de usuario en WordPress y gestionar permisos.

¿No tienes suficientes tipos de usuario para gestionar tu web?

Con este fastástico plugin podras crear tantos tipos de usuarios como quieras y darles los permisos que creas necesarios.

Members (url del plugin: http://wordpress.org/plugins/members/)

Un ejemplo claro sería si tienes otro pluguin que gestionar donde puede acceder cada usuario o por ejemplo combinarlo con un plugin de Woocomerece que permite mostrar precios para diferentes usuarios.

 

 


Peter’s Login Redirect, direccionar a nuestros usuarios al entrar y salir de su sesión en WordPress

Peter’s Login Redirect, direccionar a nuestros usuarios al entrar y salir de su sesión en WordPress

Manera muy sencilla de direccionar a nuestros usuarios cuando se logean o cierran sesión en nuestro WordPress.

Peter’s Login Redirect (url del plugin: http://wordpress.org/plugins/peters-login-redirect/ )

Podemos por ejemplo decir que los de perfil «author» vayan directamente a una URL específica dentro de nuestra web, y una vez cierren sesión vayan directamente a otra URL diferente.

Un ejemplo práctico es que queremos mostrar un contenido concreto a unos usuarios (precios o contenido especial), los direccionamos allí directamente. No queremos que entren por defecto al escritorio y luego tengan que buscar como se llega a la web.

Podemos combinar este pluguín con otro muy importante como es el Members, que crea nuevos perfiles de usuario o controla lo que pueden hacer y lo que no.

Ejemplo: creo un usuario para que cuando entre vaya directamente a ofertas o a una zona que puede (o no) estar restringida.


Ocultar la barra de administrador a todos los usuarios excepto al administrador en WordPress

Ocultar la barra de administrador a todos los usuarios excepto al administrador en WordPress

A veces resulta un tanto engorroso mostrar siempre la barra de administrador, sobre todo si usamos la gestión de usuarios solo para controlar qué partes se pueden ver de la web o para mostrar precios personalizados con Woocommerce. No hace falta que vean el panel de control de WordPress, por ello con este sencillo código podremos ocultar la barra de administración de todos los usuarios exceptuando del administrador.

Añadiendo este simple código a nuestro functions.php

<? php function mi_barra_admin($content) {
return ( current_user_can("administrator") ) ? $content : false;
}
add_filter( 'show_admin_bar' , 'mi_barra_admin');
?>

Restringir acceso de IP a wp-admin

Restringir acceso de IP a wp-admin

En varias de mis páginas me encuentros con los típicos intentos de entradas a wp-admin que han llegado a colapsar el servidor.
En algunos casos concretos no basta con los tipicos plugins de seguridad, y tenemos que cerrar el acceso por completo a nuestros archivos, excepto a nosotros, por supuesto.

Añadiendo estas lineas a nuestro .htacess denegaremos el acceso al archivo wp-login.php y así no podran intentar entrar en nuestro WordPress. Ponemos eso si nuestra ip (podemos saberla rápidamente con http://www.cualesmiip.com/)

<Files wp-login.php>
Order deny,allow
Deny from all
Allow from 89.41.19.291 (o IP que corresponda en http://www.cualesmiip.com/

Allow from …..(se pueden añadir más IP’s)
</Files>

 

Espero que os sea de ayuda, recordad que esto sirve para controlar que IP’s pueden acceder al administrador de WordPress.


Powered by WordPress | Designed by Elegant ThemesPolítica de privacidad