Forzar www en sitio WordPress
viernes, 21 enero 2022
Este código se inserta en lo más alto de tu .htaccess
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} !^www. RewriteCond %{HTTP_HOST} !^static. RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L] </IfModule>
- Publicado en Wordpress Hacks
No Comments
WordPress hacks – Pausar tienda Woocommerce en functions.php
jueves, 20 enero 2022
Pausa momentaneamente tu tienda Woocommerce mediante el siguiente código en el archivo functions.php de tu theme/.
add_action ('init', 'artics_woocommerce_holiday_mode'); function artics_woocommerce_holiday_mode() { remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); /* desactiva agregar al carrito en loop*/ remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); /*desactiva agregar al carrito en producto */ remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 ); /*desactiva checkout*/ remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 ); /*agrega notificación en varios lugares*/ add_action( 'woocommerce_before_main_content', 'artics_wc_shop_disabled', 5 ); add_action( 'woocommerce_before_cart', 'artics_wc_shop_disabled', 5 ); add_action( 'woocommerce_before_checkout_form', 'artics_wc_shop_disabled', 5 ); } function artics_wc_shop_disabled() { wc_print_notice( 'Estamos trabajando para mejorar la experiencia de usuario :)', 'error'); }
- Publicado en Wordpress Hacks
WordPress hacks – Ultimate member foto de perfil en registro
jueves, 20 enero 2022
Ultimate Member: habilite la foto de perfil en el formulario de registro
Permita que los usuarios carguen su foto de perfil en el formulario de registro. Ultimate member no te da la opción de cargar una foto de perfil en el registro.
Creas una carpeta con nombre um-profile-photo y el pones el código dentro.
Activas el plugin en WordPress y agregas el campo «Profile Photo» al formulario de registro a través de UM Form Builder.
https://github.com/ultimatemember/Extended/tree/main/um-profile-photo
<?php /* Plugin Name: Ultimate Member - Enable Profile Photo in Register form Plugin URI: http://ultimatemember.com/ Description: Enable users to upload their profile photo in Register form Version: 1.0.0 Author: Ultimate Member Ltd. Author URI: https://ultimatemember.com */ if ( ! defined( 'ABSPATH' ) ) exit; /** * Add new predefined field "Profile Photo" in UM Form Builder. * * @param array $arr field array settings. */ function um_predefined_fields_hook_profile_photo( $arr ) { $arr['register_profile_photo'] = array( 'title' => __( 'Profile Photo', 'ultimate-member' ), 'metakey' => 'register_profile_photo', 'type' => 'image', 'label' => __('Change your profile photo','ultimate-member' ), 'upload_text' => __( 'Upload your photo here', 'ultimate-member' ), 'icon' => 'um-faicon-camera', 'crop' => 1, 'max_size' => ( UM()->options()->get('profile_photo_max_size') ) ? UM()->options()->get('profile_photo_max_size') : 999999999, 'min_width' => str_replace('px','',UM()->options()->get('profile_photosize')), 'min_height' => str_replace('px','',UM()->options()->get('profile_photosize')), ); return $arr; } add_filter( 'um_predefined_fields_hook', 'um_predefined_fields_hook_profile_photo', 99999, 1 ); /** * Multiply Profile Photo with different sizes * * @param integer $user_id the user ID. */ function um_registration_set_profile_photo( $user_id ) { if( is_user_logged_in() ) { UM()->files()->delete_core_user_photo( $user_id, 'profile_photo' ); } $user_basedir = UM()->uploader()->get_upload_user_base_dir( $user_id, true ); $temp_dir = UM()->uploader()->get_core_temp_dir() . DIRECTORY_SEPARATOR; $temp_profile_photo = array_slice( scandir( $temp_dir ), 2); $temp_profile_id = isset( $_COOKIE['um-register-profile-photo'] ) ? $_COOKIE['um-register-profile-photo'] : null; if( empty( $temp_profile_photo ) ) return; foreach( $temp_profile_photo as $i => $p ){ if ( strpos($p, "_photo_{$temp_profile_id}_temp") !== false ) { $profile_p = $p; } } if( empty( $profile_p ) ) return; $temp_image_path = $temp_dir . DIRECTORY_SEPARATOR . $profile_p; $new_image_path = $user_basedir . DIRECTORY_SEPARATOR . $profile_p; $image = wp_get_image_editor( $temp_image_path ); $file_info = wp_check_filetype_and_ext( $image_path, $profile_p ); $ext = $file_info['ext']; $new_image_name = str_replace( $profile_p, "profile_photo.{$ext}", $new_image_path ); $sizes = UM()->options()->get( 'photo_thumb_sizes' ); $quality = UM()->options()->get( 'image_compression' ); if ( ! is_wp_error( $image ) ) { $image->save( $new_image_name ); $image->set_quality( $quality ); $sizes_array = array(); foreach( $sizes as $size ) { $sizes_array[ ] = array ( 'width' => $size ); } $image->multi_resize( $sizes_array ); delete_user_meta( $user_id, 'synced_profile_photo' ); update_user_meta( $user_id, 'profile_photo', "profile_photo.{$ext}" ); update_user_meta( $user_id, 'register_profile_photo', "profile_photo.{$ext}" ); @unlink( $temp_image_path ); } } add_action( 'um_after_user_account_updated', 'um_registration_set_profile_photo', 1, 1 ); add_action( 'um_registration_set_extra_data', 'um_registration_set_profile_photo', 1, 1 ); /** * Set Temporary user id */ function um_register_profile_photo_set_temp_user_id() { $temp_profile_id = isset( $_COOKIE['um-register-profile-photo'] ) ? $_COOKIE['um-register-profile-photo'] : null; if ( ! $temp_profile_id ) { setcookie( 'um-register-profile-photo', md5( time() ), time() + 3600, COOKIEPATH, COOKIE_DOMAIN ); } } add_action( 'template_redirect', 'um_register_profile_photo_set_temp_user_id' ); /** * Set handler callback for filename */ function um_register_profile_photo_upload_handler( $override_handler ) { if ( 'stream_photo' == UM()->uploader()->upload_image_type && 'register_profile_photo' == UM()->uploader()->field_key ) { $override_handler['unique_filename_callback'] = 'um_register_profile_photo_name'; } return $override_handler; } add_filter( 'um_image_upload_handler_overrides__register_profile_photo', 'um_register_profile_photo_upload_handler', 99999 ); /** * Change filename */ function um_register_profile_photo_name( $dir, $filename, $ext ) { $temp_profile_id = isset( $_COOKIE['um-register-profile-photo'] ) ? $_COOKIE['um-register-profile-photo'] : null; return "profile_photo_{$temp_profile_id}_temp{$ext}"; } /** * Support profile photo uploader in Account form */ function um_register_display_profile_photo_in_account( $field_atts, $key, $data ) { if ( 'register_profile_photo' == $key && um_is_core_page( 'account' ) ) { $profile_photo = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . um_profile( 'profile_photo' ) . '?ts=' . current_time( 'timestamp' ); $field_atts['data-profile_photo'] = array( $profile_photo ); } return $field_atts; } add_filter( 'um_field_extra_atts', 'um_register_display_profile_photo_in_account', 10, 3 ); /** * Clear profile photo cache */ function um_register_display_profile_photo_script() { if( ! um_is_core_page( 'account' ) ) return; ?> <script type="text/javascript"> jQuery(document).on("ready", function(){ setTimeout(() => { var register_profile_photo = jQuery("div[data-key='register_profile_photo']"); register_profile_photo.find(".um-field-area").find(".um-single-image-preview").find("img").attr("src", register_profile_photo.data("profile_photo")); }, 1000); var account_small_avatar = jQuery(".um-account-meta-img-b").find("a").find("img"); account_small_avatar.attr("src", account_small_avatar.attr("src") + "?ts=" + Math.floor(Date.now() / 1000) ); jQuery(document).ajaxSuccess(function(event, xhr, settings) { if( typeof settings.data.indexOf !== "undefined" ){ if (settings.data.indexOf("action=um_resize_image") > -1) { jQuery(".um-account .um-form form").submit(); } } }); }); </script> <?php } add_action( 'wp_footer', 'um_register_display_profile_photo_script' ); /** * Delete profile photo viam the account form */ function um_register_delete_profile_photo_from_account() { if( isset( $_REQUEST['mode'] ) && "account" == $_REQUEST['mode'] ) { UM()->files()->delete_core_user_photo( get_current_user_id(), 'profile_photo' ); } wp_send_json_success(); } add_action( 'wp_ajax_um_remove_file', 'um_register_delete_profile_photo_from_account', 1 );
- Publicado en Wordpress Hacks