Mostrando entradas con la etiqueta WORDPRESS. Mostrar todas las entradas
Mostrando entradas con la etiqueta WORDPRESS. Mostrar todas las entradas

miércoles, 1 de mayo de 2019

Wordpress - functions - php CONFIGURADO

mayo 01, 2019 // by Alex // // No comments

PHP


////////////////////////////////////
// AGREGAR EL ACTIVE AL MENÚ DE NAVEGACIÓN
////////////////////////////////////
add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2); function special_nav_class ($classes, $item) { if (in_array('current-menu-item', $classes) ){ $classes[] = 'active '; } return $classes; }

////////////////////////////////////
// ACTIVAR EL MÉNU DE NAVEGACIÓN Y MENÚ DEL FOOTER
////////////////////////////////////
register_nav_menus( array(
'nav_menu' => 'Menu nav',
'footer_menu' => 'Menu footer',
) );

////////////////////////////////////
// ACTIVAR LA OPCIÓN IMAGEN DEL POST
////////////////////////////////////
add_theme_support( 'post-thumbnails' );

////////////////////////////////////
//Quitar el editor nuevo de wordpres
////////////////////////////////////
add_filter('use_block_editor_for_post', '__return_false');


////////////////////////////////////
// AGREGA GESTIÓN DE LOGO EN PERSONALIZAR
////////////////////////////////////
add_theme_support( 'custom-logo', array(
'height' => 100,
'width' => 400,
'flex-height' => true,
'flex-width' => true
));

////////////////////////////////////
//Font awesome 4.7
///////////////////////////////////
wp_register_style( 'Font_Awesome', 'https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
wp_enqueue_style('Font_Awesome');


////////////////////////////////////
// AGREGAR EL FRAMEWORK BOOTSTRAP 4.3.1
///////////////////////////////////
function themebs_enqueue_styles() {
wp_enqueue_style( 'bootstrap', 'https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css' );

}
add_action( 'wp_enqueue_scripts', 'themebs_enqueue_styles');


function themebs_enqueue_scripts() {
wp_enqueue_script( 'bootstrap', 'https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js', array( 'jquery' ) );
wp_enqueue_script( 'popper', 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js', array( 'jquery' ) );
}
add_action( 'wp_enqueue_scripts', 'themebs_enqueue_scripts');


////////////////////////////////////
// SE AGREGA LA HOJA STYLE.CSS
////////////////////////////////////
add_action( 'wp_enqueue_scripts', 'custom_enqueue_styles');

function custom_enqueue_styles() {
wp_enqueue_style( 'custom-style',
get_stylesheet_directory_uri() . '/style.css',
array(),
wp_get_theme()->get('Version')
);
}


////////////////////////////////////
// AGREGAR EL FRAMEWORK AOS
///////////////////////////////////
function themeaos_enqueue_styles() {
wp_enqueue_style( 'aos', 'https://unpkg.com/aos@2.3.1/dist/aos.css' );

}
add_action( 'wp_enqueue_scripts', 'themeaos_enqueue_styles');

function themeaos_enqueue_scripts() {
wp_enqueue_script( 'aos', 'https://unpkg.com/aos@2.3.1/dist/aos.js', array( 'jquery' ) );
}
add_action( 'wp_enqueue_scripts', 'themeaos_enqueue_scripts');



////////////////////////////////////
//Quitar error HTTP en las imágenes
///////////////////////////////////
add_filter( 'wp_image_editors', 'change_graphic_lib' );
function change_graphic_lib($array) {
return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}

miércoles, 13 de marzo de 2019

Woocommerce - Traer elementos

marzo 13, 2019 // by Alex // // No comments

Editando la plantilla del WOOCOMMERCE. Durante la edición de la plantilla que trae por defecto el WOOCOMMERCE se necesitan partes de esta, aquí estan algunos de los elementos más utilizados que hacen posible la creación de tiendas online en wordpress.

Traer el nombre de la categoría de un producto

PHP

<?php
global $post;
$terms = get_the_terms( $post->ID, 'product_cat' );

echo $terms[0]->name;
?>

martes, 12 de marzo de 2019

Woocommerce - Edición de página de productos

marzo 12, 2019 // by Alex // // No comments

Declarar el soporte de WooCommerce en los temas.

Mike Jolley editó esta página el 8 de marzo de 2018 · 3 revisiones

Si está utilizando las anulaciones de plantillas de WooCommerce personalizadas en su tema, debe declarar el soporte de WooCommerce utilizando la función add_theme_support. Las anulaciones de plantillas de WooCommerce solo están habilitadas en temas que declaran el soporte de WooCommerce. Si no declara el soporte de WooCommerce en su tema, WooCommerce asumirá que el tema no está diseñado para la compatibilidad de WooCommerce y usará una representación de tema no compatible basada en shortcode para mostrar la tienda.

Declarar que el soporte de WooCommerce es sencillo e implica agregar una función en el archivo functions.php de su tema.

Uso básico:

PHP

function mytheme_add_woocommerce_support() {
add_theme_support( 'woocommerce' );
}
add_action( 'after_setup_theme', 'mytheme_add_woocommerce_support' );

lunes, 4 de marzo de 2019

Wordpress - Plugin QTranslate - X

marzo 04, 2019 // by Alex // // No comments

Plugin muy compatible y realmente útil para crear inmediatamente el contenido multiidioma, ya sea dentro del administrador del wordpress o através del contenido de la plantilla.

Agregar al "functions.php"

Para traducir dentro de la plantilla

PHP

function is_lang_es(){
if (qtranxf_getLanguage() == 'en') {
return false;
} elseif (qtranxf_getLanguage() == 'es') {
return true;
}
}

Y ya dentro de la página en proceso:

PHP

<?php if (is_lang_es()): ?>
<h2 class="title-seven">CONTENIDO DE TEXTO EN ESPAÑOL</h2>
<?php else: ?>
<h2 class="title-seven">CONTENIDO EN INGLÉS</h2>
<?php endif ?>

jueves, 14 de febrero de 2019

Wordpress - Crear plantilla

febrero 14, 2019 // by Alex // // No comments

Elementos básicos de una plantilla

1. Plantilla principal(index.php)
2. Hoja de estilos principal del tema(style.css)
3. Archivo de funciones del tema (functions.php)
4. Imagen de captura de pantalla del tema(screenshot.png)

index.php

HTML


<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo('charset'); ?>">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title><?php wp_title('|',true,'right'); ?></title>
<?php wp_head(); ?>
</head>
<body>
<header class="Header">
<div class="Logo">
<a href="#">Logo</a>
</div>
<nav class="Menu">
<ul>
<li><a href="#">Sección 1</a></li>
<li><a href="#">Sección 2</a></li>
<li><a href="#">Sección 3</a></li>
<li><a href="#">Sección 4</a></li>
<li><a href="#">Sección 5</a></li>
</ul>
</nav>
</header>
<main class="Main">
<article class="Content">
<h2>Contenido</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis quo facilis repellat molestias explicabo nulla vitae perspiciatis eligendi reprehenderit, deleniti sit, error voluptas. Voluptate et, libero ipsa praesentium eum, dolore!</p>
</article>
<aside class="Sidebar">
<h2>Sidebar</h2>
<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Error minima et, iusto molestias necessitatibus, itaque, veniam voluptatum eaque consequatur officia quidem. Reiciendis vel alias ducimus quibusdam dolores molestiae accusamus. Officia.</p>
</aside>
</main>
<footer>
<nav class="SocialMedia">
<ul>
<li><a href="">Redes 1</a></li>
<li><a href="">Redes 2</a></li>
<li><a href="">Redes 3</a></li>
<li><a href="">Redes 4</a></li>
<li><a href="">Redes 5</a></li>
</ul>
</nav>
<small>©2018 por @Alex Muñoz</small>
</footer>
<?php wp_footer(); ?>
</body>
</html>

style.css

CSS

/*!
Theme Name: Shacker WP Theme
Theme URI:https://maximo2014.blogspot.com/
Author: Alex Muñoz
Author URI:https://maximo2014.blogspot.com/
Description: Plantilla generica de pruebas
Version: 1.0.0
License: GNU General Public License v2 or later
License URI:http://www.gnu.org/licenses/gpl-2.0.html
Tags: one-column, two-columns, right-sidebar, flexible-header
*/

functions.php

PHP

<?php /**
* My Awesone Wordpress teme functions and definitions
*
* @link https://developers.wordpress.org/themes/basic/theme-functions/
*
* @package Wordpress
* @subpackage Shack
* @since 1.0.0
* @version 1.0.0
*/

// SE AGREGA LA HOJA STYLE.CSS
add_action( 'wp_enqueue_scripts', 'custom_enqueue_styles');

function custom_enqueue_styles() {
wp_enqueue_style( 'custom-style',
get_stylesheet_directory_uri() . '/style.css',
array(),
wp_get_theme()->get('Version')
);
}


// AGREGAR FUENTE DE GOOGLE-FONTS
if(!function_exists('shack_scripts')):
function shack_scripts(){
wp_register_style('google-fonts',
'https://fonts.googleapis.com/
css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i',array(),
'1.0.0','all');

wp_enqueue_style('google-fonts');
wp_enqueue_style('style');

}
endif;
add_action('wp_enqueue_scripts','shack_scripts');

miércoles, 6 de febrero de 2019

Wordpress - personalizar el login

febrero 06, 2019 // by Alex // // No comments

Es prácticamente imprescindible que se nos presente el requerimiento de personalizar el login del wordpress, así que este código es para incluir en el archivo "functions.php", luego de esto, según el tipo de logo y su tamaño, modificar los estilos

PHP

function my_login_logo() { ?>
<style type="text/css">
#login h1 a, .login h1 a {background-image: url(http://pagarenlinea.com/minadmin/wp-content/uploads/2019/02/logo.png);
height: 80px;width: 100%;background-size: cover;background-repeat: no-repeat;}
.login h1{background: #42210b;border-radius: 5px;}
</style>
<?php }//end my_login_logo()
add_action( 'login_enqueue_scripts', 'my_login_logo' );
function my_login_logo_url() {
return home_url();
}//end my_login_logo_url()
add_filter( 'login_headerurl', 'my_login_logo_url' );
function my_login_logo_url_title() {
return 'Nelio Software';
}//end my_login_logo_url_title()
add_filter( 'login_headertitle', 'my_login_logo_url_title' );

sábado, 15 de diciembre de 2018

Wordpress - Trabajar local

diciembre 15, 2018 // by Alex // // 1 comment

Cuando se trabaja el Wordpress local, se facilitan muchas cosas, en especial que ya no necesitamos de hosting o dominio para crear nuestra web, también la carga suele ser más rápida que conectada a un servidor web. Claro está que Wordpress al parecer no tiene una configuración rápida para trabajar de esta manera, puedo afirmar de esta forma que no fue creado pensando en un desarrollo local.

Modificando estos elementos yo y mi equipo hemos podido trabajar wordpres local sin ningún inconveniente, de esta manera:

Luego de instalar el XAMPP, de agregar el worpress a la carpeta "htdocs", y de arrancar el escritorio administrativo de Wordpress, éste por defecto no permitirá subir elementos mayores a 8MB. Así que previamente se deben hacer cambios a los archivos internos del Wordpress, como también el servidor (en este caso el XAMPP que recomiendo). Así que presento elementos para facilitar este proceso. Como también los links de otras ayudas publicadas en este mismo blog en desarrollo.

Cómo aumentar el tamaño máximo de archivo de carga en WordPress local

Hay 2 formas en que puede elegir aumentar el tamaño máximo de archivo de carga en WordPress.

1. Actualizar el archivo .htaccess

htaccess

php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300

Cambia los números a los valores que necesites. El tiempo de ejecución máximo y los valores de tiempo de entrada máximo están en segundos y es posible que deba aumentarse más si su conexión a Internet es lenta.


2. Actualizar el archivo wp-config.php

PHP

@ini_set( 'upload_max_filesize' , '128M' );
@ini_set( 'post_max_size', '128M');
@ini_set( 'memory_limit', '256M' );
@ini_set( 'max_execution_time', '300' );
@ini_set( 'max_input_time', '300' );

Original:servmask

Incrementar el tamaño de descarga y carga del servidor local (XAMPP)

1. Configurar el archivo "php.ini", contenido en la carpeta de instalación del XAMPP.

El proceso es muy sencillo: se debe descomentar la línea de texto
;extension=php_openssl.dll (o parecida, a veces cambia), quitándole el punto y coma: " ; "

También se debe modificar la línea:
upload_max_filesize=2M al valor requerido.

viernes, 14 de diciembre de 2018

Wordpress - Agregar el CDN de un framework en el funtions-php

diciembre 14, 2018 // by Alex // // No comments

Función de ejemplo, igual se pueden modicar los nombres como también las rutas del framework

PHP

function AOS(){
wp_enqueue_style('AOS','https://unpkg.com/aos@2.3.1/dist/aos.css');
wp_enqueue_script('AOS', 'https://unpkg.com/aos@2.3.1/dist/aos.js');
}

add_action('init', 'AOS');

martes, 4 de diciembre de 2018

Wordpress - Agregar buscador al menú de navegación

diciembre 04, 2018 // by Alex // // No comments

Ingresar este filtro en el "funtions.php"

PHP

add_filter( 'wp_nav_menu_items','add_search_box', 10, 2 );
function add_search_box( $items, $args ) {
$items .= "<li class = 'searchbox_position'>" . get_search_form( false ) . '</li>';
return $items;
}

Wordpress - Traer elementos del post (Entradas)

diciembre 04, 2018 // by Alex // // No comments

BÁSICO

PHP

<?php query_posts('category_name=noticias&posts_per_page=2&order=ASC'); ?>

PHP

<?php
while(have_posts()):

TRAE EL POST
the_post();

TITULO:
the_title();

FECHA:
echo the_date();

IMAGEN:
$thumbID = get_post_thumbnail_id( $beneficios->ID );
$imgDestacada = wp_get_attachment_url( $thumbID );

endwhile;
?>

EJEMPLO CON PAGINACION Y SOBRE COLUMNAS

PHP


<?php

$args = array(
'category_id' => 15,
'category_name' => 'blog',
'posts_per_page' => 4,
'order' => 'ASC',
'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1)
);

query_posts($args);

?>

<div class="container">
<div class="row">

<?php
while(have_posts()):
the_post();?>
<div data-aos="flip-left"
data-aos-easing="ease-out-cubic"
data-aos-duration="2000" class="col-md-6">
<a class="item" href="<?php the_permalink(); ?>">
<div class="bl-text-blog">
<p><?php the_content(); ?></p>
</div>
</a>
</div>

<?php
endwhile;
?>


<div class="navegaciones">
<?php the_posts_pagination(); ?>
</div>
<?php wp_reset_query(); ?>
</div>

</div>

jueves, 29 de noviembre de 2018

Wordpress - Plugines Recomendados

noviembre 29, 2018 // by Alex // // No comments

WooCommerce Cart Tab

Un gran error de UX en muchos sitios web de comercio electrónico es esconder el acceso al carrito. Después de agregar un producto al carrito, el siguiente paso lógico de los visitantes es completar la compra. ¡No frustres a tus clientes haciéndolos buscar el botón del carrito!

Este complemento agrega una pestaña de todo el sitio que muestra la cantidad de productos en el carrito. Al hacer clic en la pestaña o agregar un producto al carrito desde la página de la tienda, se mostrará el contenido del carrito con un enlace a la caja.

Advance Custom Fields

Use el complemento de Campos personalizados avanzados para tener el control total de sus pantallas de edición de WordPress y datos de campos personalizados.

YITH WooCommerce Ajax Product Filter

Un potente plugin de WooCommerce: widget de filtro de productos WooCommerce, WooCommerce Ajax Product Filter te permite aplicar los filtros que necesitas para mostrar las variaciones de WooCommerce correctas de los productos que estás buscando.

Elige entre color, etiqueta, lista y menú desplegable, y tu búsqueda de filtrado de WooCommerce mostrará los productos específicos que se adaptan perfectamente a tus necesidades.

Un plugin de WooCommerce extremadamente útil para ayudar a los clientes a encontrar lo que realmente quieren.

Todo esto se puede hacer de una manera rápida e intuitiva que sin duda ayudará a tu tienda WooCommerce a mejorar en calidad y facilidad de uso.

Advanced AJAX Product Filters for WooCommerce

WooCommerce Filtros de productos AJAX: capacidad avanzada de filtrado de productos para su tienda WooCommerce. Añadir filtros ilimitados con un widget.

Wordpress - Traer elementos

noviembre 29, 2018 // by Alex // // No comments

TRAER EL BUSCADOR GENERAL DE WORDPRESS

PHP

<?php get_search_form() ?>

TRAER UNA PARTE DE LA PLANTILLA

PHP

<?php get_template_part('carpeta/nombre-del', 'elemento'); ?>

TRAER LINK DEL HOME

PHP

<?php echo get_home_url(); ?>

O también

<?php echo esc_url( home_url( '/' ) ); ?>

concatenada

<?php echo esc_url(home_url('/')) . '/wp-content/uploads/2019/03/bandera-espanol.png'; ?>

AGREGAR LA GESTIÓN DEL LOGO AL PERSONALIZAR


en el "functions.php"

PHP

add_theme_support( 'custom-logo', array(
'height' => 100,
'width' => 400,
'flex-height' => true,
'flex-width' => true
) );

Y luego se llama al logo en la plantilla:

PHP

<?php
if(has_custom_logo()):
the_custom_logo();
else:
echo'<a href="'.esc_url(home_url('/')).'">'.
get_bloginfo('name').'</a>';
endif;
?>

Traer el contenido de las páginas

PHP

<?php if (have_posts()): while(have_posts()): the_post(); the_content(); endwhile; endif; ?>

Wordpress - Dejar activo el botón del menú de navegación

noviembre 29, 2018 // by Alex // // No comments

Se debe agregar este código "PHP" en el funtions.php

PHP

add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2); function special_nav_class ($classes, $item) { if (in_array('current-menu-item', $classes) ){ $classes[] = 'active '; } return $classes; }

CSS

.menu-main-container .menu-item.active a{ background: #002684; color: white !important; }

lunes, 26 de noviembre de 2018

Wordpress - Plugin Advance Custom

noviembre 26, 2018 // by Alex // // No comments

Se podría decir que esta es la mejor herramienta para generar una ambiente fácil de usar para los administradores de un sitio en wordpress. Cambiar imágenes, textos, colores, números muchos de los elementos que hacen parte las páginas elaboradas en Wordpress, quedan ahora de la mánera más fácil, si lo que se trata sólo es cambiar. Así de fácil

BÁSICO

PHP

<?php the_field('nombre_campo')?>

CON EL NÚMERO DEL POST

PHP

<?php the_field('nombre_campo',12)?>

LLAMANDO EL ID DE LA PÁGINA

PHP

<?php the_field('nombre_campo',get_the_ID())?>

ELEMENTO QUE SE REPITE

PHP

<!-- REPETIDOR DE IMAGEN (imagen del producto) -->
<div class="img-product">
<?php
$count=0;
while ( have_rows('imagen_del_producto') ) : the_row(); ?>
<img class="img-product-full" src="<?php the_sub_field('ingresar_imagen')?>" alt=">

<?php
$count++;
endwhile
?>
</div><!-- Fin imagen -->

viernes, 23 de noviembre de 2018

Wordpress - Agregar shortcode

noviembre 23, 2018 // by Alex // // No comments

BÁSICO

PHP

<?php echo do_shortcode('[aquí el shortcode]');?>

CUSTOM POST o "CAMPO PERSONALIZADO", dentro de un shortcode

PHP

<?php echo do_shortcode( '[rev_slider alias="'.get_field('shortcode_banner').'"]' ); ?>

jueves, 22 de noviembre de 2018

Wordpress - Agregar el extracto del post(entradas)

noviembre 22, 2018 // by Alex // // No comments

PHP

//Extractos en páginas
function my_init() { add_post_type_support('page', array('excerpt')); } add_action('init', 'my_init');

miércoles, 21 de noviembre de 2018

Wordpress - Woocommerce - Cargar área de widgets

noviembre 21, 2018 // by Alex // // No comments

Resulta imprescindible agregar un menú vertical a los lados de las tiendas online. Este es el código que se agrega al archivo "funtions.php" luego de esto se agrega un shortcode a la página en la que se desea que se muestre esa área de filtros de sidebar.

Agregar en el archivo: funtions.php

PHP

register_sidebar( array(
'name' => 'Filtros',
'id' => 'filtros_fincas_produccion',
'description' => 'Filtros parte izquierda',
'before_widget' => '<section id="%1$s" class="widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h3 class="titulo-filtros">',
'after_title' => '</h3>',
) );

Agregar en la página para mostrar

PHP

<?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('Filtros')) ?>

Wordpress - Woocommerce - Sacar categoría de un producto

noviembre 21, 2018 // by Alex // // No comments

De los plugines menos personalizables que tiene Wordpress como es el woocommerce en la parte de la tienda junto con el producto presentan enredos y limitaciones a la hora de editar ciertos puntos, aquí esta un elemento para sacar la categoría de un producto en la página interna del producto.

Esperemos sea útil para trabajar en alguna tienda.

PHP

<?php $term_list = wp_get_post_terms(get_the_ID(),'product_cat', array('fields' => 'ids')); $cat_id = (int)$ term_list [0];?>

martes, 20 de noviembre de 2018

Wordpress - Quitar error HTTP al subir imagenes

noviembre 20, 2018 // by Alex // // 2 comments

Aún con la última versión de WORDPRESS instalado, esta apareciendo un error común al subir ciertas imágenes a la biblioteca. Otra de la opciones que también funciona es actualizar la versión del PHP en el cpanel, con la versión 7 en adelante parece funcionar correctamente de todas formas este es un filtro que permite subir sin problemas las imágenes que no permitía subir antes.

ARCHIVO funtions.php (EN LA CARPETA DEL TEMA) se coloca este codigo en cualquier parte

PHP

add_filter( 'wp_image_editors', 'change_graphic_lib' );
function change_graphic_lib($array) {
return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}

lunes, 22 de octubre de 2018

WORDPRESS - Llama a plantilla

octubre 22, 2018 // by Alex // // No comments

Formato básico

Este es simplemente el fórmato para llamar desde las páginas en la sección de atributos de página, ubicado a la derecha del editor del wordpress.

Ya dentro del DOCTYPE iría pues la construcción de nuestra página con todos los estilos y diseño planeado.

PHP

<?php
/*
Template name: diseño de espacios
*/
?>

<?php get_header();?>

<head>

<link rel="stylesheet" href="<?php echo get_template_directory_uri()."/espacios.css"; ?>">

</head>

<body>
ESPACIO PARA CONTRUIR
</body>

<?php get_footer(); ?>

PHP


<?php
/*
Template Name: Nombre de la plantilla
Template Post Type: post
*/
?>


<?php get_header();?>
<head>
<link rel="stylesheet" href="<?php echo get_template_directory_uri()."/espacios.css"; ?>">
</head>
<body>
ESPACIO PARA CONTRUIR
</body>
<?php get_footer(); ?>