Skip to content

Instantly share code, notes, and snippets.

View perezdans's full-sized avatar

Jaime Pérez Dans perezdans

View GitHub Profile
@perezdans
perezdans / Buscar <? antiguos
Created January 5, 2018 12:53
RegExp para buscar etiquetas abiertas con <? en lugar de con el más correcto <?php para utilizar con el buscador del sublime o similar
<\?[^p]
@perezdans
perezdans / clientes_post_type.php
Created January 18, 2018 08:45
Código para meter en el functions.php o en un plugin para crear un custom post type de clientes para tu web de WordPress
<?php
if ( ! function_exists('clientes_post_type') ) {
// Register Custom Post Type
function clientes_post_type() {
$labels = array(
'name' => 'Clientes',
'singular_name' => 'Cliente',
'menu_name' => 'Clientes',
@perezdans
perezdans / cumplir-rgpd-en-comentarios.php
Created February 19, 2018 11:54
Añadir casilla de aceptación de la política de privacidad en los comentarios de WordPress con un código. Necesario para cumplir la RGPD
<?php
/* Casilla de verificación de privacidad después del formulario de comentarios */
add_filter( 'comment_form_field_comment', 'mi_campo_de_privacidad_en_comentarios' );
function mi_campo_de_privacidad_en_comentarios( $comment_field ) {
return $comment_field.'<label><input type="checkbox" name="privacy" value="privacy-key" class="privacyBox" aria-req="true"> Acepto la <a target="blank" href="https://ayudawp.com/legal/">política de privacidad</a></label>';
}
//validación por javascript
add_action('wp_footer','valdate_privacy_comment_javascript');
function valdate_privacy_comment_javascript(){
if (is_single() && comments_open()){
@perezdans
perezdans / defer_javascript.php
Created February 28, 2018 12:30
Poner un attr defer en todos los javascript para optimizar la carga de la página. Sacado de ayudawp.com
// Aplazar JavaScripts
if (!(is_admin() )) {
function defer_parsing_of_js ( $url ) {
if ( FALSE === strpos( $url, '.js' ) ) return $url;
if ( strpos( $url, 'jquery.js' ) ) return $url;
// return "$url' defer ";
return "$url' defer onload='";
}
add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );
}
@perezdans
perezdans / provincias.html
Last active January 28, 2025 17:40
Desplegable con la lista de provincias de España
<select required name="provincia" class="form-control">
<option value="">Elige Provincia</option>
<option value="Álava/Araba">Álava/Araba</option>
<option value="Albacete">Albacete</option>
<option value="Alicante">Alicante</option>
<option value="Almería">Almería</option>
<option value="Asturias">Asturias</option>
<option value="Ávila">Ávila</option>
<option value="Badajoz">Badajoz</option>
<option value="Baleares">Baleares</option>
@perezdans
perezdans / ocultar-sello-recaptcha.css
Created March 20, 2019 13:14
CSS para ocultar el sello que coloca recaptcha V3 en todas las páginas
.grecaptcha-badge {opacity:0}
@perezdans
perezdans / ajuste_anclas.css
Created November 17, 2020 07:57
Ajustar cabecera fija en anclas html
:target::before {
content: "";
display: block;
height: 90px; /* aquí la altura de la cabecera fija*/
margin: -90px 0 0; /* altura negativa de la cabecera fija */
}
@perezdans
perezdans / limit-contact-form-7.php
Last active March 2, 2021 19:08
Código a incluir en el functions.php o en un plugin para evitar la carga del javascript de Contact Form 7 en todas las páginas y que se cargue únicamente en las páginas donde haya formulario
//Evitar la carga en todas las páginas
add_filter( ‘wpcf7_load_js’, ‘__return_false’ );
add_filter( ‘wpcf7_load_css’, ‘__return_false’ );
//Cargar solo en las que nos interesan
function jpd_carga_contactform7(){
if ( is_page(‘contacto, inicio’) ) {
if ( function_exists( ‘wpcf7_enqueue_scripts’ ) ) {
wpcf7_enqueue_scripts();
}
@perezdans
perezdans / redirect.php
Last active March 2, 2021 19:08
WordPress: Redireccionar al usuario al loguearse según su rol. Si lo que pretendemos es enviar a los administradores, editores, autores, suscriptores… a páginas predefinidas por nosotros (cada uno a una diferente), podemos utilizar el código del siguiente ejemplo, añadiéndolo en un plugin de funciones o en el archivo «functions.php».
<?php
// ---------------------------------
// Redirección de registro (login) según el tipo (rol) de usuario.
// ---------------------------------
function jpd_custom_login_redirect($redirect_to, $request, $user) {
global $user;
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
// Si es un usuario administrador le redirigimos al dashboard
if ( in_array( 'administrator', $user->roles ) )
@perezdans
perezdans / login-unico.php
Last active November 4, 2022 10:19
Para limitar el acceso de una sesión por usuario. Cuando autenticamos en WordPress, se eliminan todas las sesiones anteriores del mismo usuario para que el que se loguea en ese momento sea la única sesión
<?php
add_filter('authenticate', 'jpd_single_login_authenticate', 0, 3);
function jpd_single_login_authenticate($user, $username, $password) {
$user = get_user_by('login', $username);
if( isset($user->ID) ){
if(isset($user->roles) && is_array($user->roles)) {