D
dasilvadanij
Gamma
Redactor
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola dasi!
te recomendamos este plugin para lo que requieres,https://cl.wordpress.org/plugins/asesor-cookies-para-la-ley-en-espana/ si lo quieres personalizar, te recomiendo que uses una imagen y le des el orden que deseas en tu sitio web.
Saludos!
<img src="">
Hola Dasivadanj!
La solución a tu consulta es fácil,solo debes agregar el código HTML de imagen en el plugin
al utilizar el plugin en el área en donde colocas el texto,agregas el código...revisa la captura que posee el plugin en el directorio de plugins de wordpress.
Saludos
Gracias por la respuesta amigo.
Tienes que guardarlo recortado con fondo transparente en formato PNG para que te mantenga la sombra.
Ya esta recortado y en formato PNG el problema es, el plugin aparentemente. O Hay que modificar algo.
Aquí esta la imagen¿pero lo guardaste con transparencia? ¿puedes subir la imagen para revisarla?
Aquí esta la imagen
Está en formato JPG, el formato JPG no admite transparencias.
Tienes que guardarlas como PNG CON TRANSPARENCIA y el fondo tienes que dejarlo transparente cuando lo vayas a guardar.
Ahora tengo que salir sino armaba un tutorial para armar algo así (ya será mañana).
El plugin no debiera de ser el problema, ya que estas usando un área de este. lo que te puedo recomendar es recortarla en fotoshop y dejarla en formato png transparente. ahora si el plugin tiene como fondo blanco,revisa si se puede cambiar o denegar, en caso de este tendrías que revisar el código del plugin. avisanos como te va para llegar a la solucion.
Saludos
<?php
/* ======================================================================================
@author Carlos Doral Pérez (http://webartesanal.com)
@version 0.15
[MENTION=109939]Copy[/MENTION]right Copyright © 2013-2014 Carlos Doral Pérez, All Rights Reserved
License: GPLv2 or later
====================================================================================== */
/**
*
*/
class cdp_cookies_error extends Exception
{
}
/**
*
*/
class cdp_cookies_error_nonce extends cdp_cookies_error
{
/**
*
*/
function __construct()
{
parent::__construct( "Se ha producido un error de seguridad en este plugin" );
}
}
/**
*
* Utilidad log
*
* Actualiz:
*
* 10-oct-2013 No arroja excepciones si no puede escribir en el archivo
* 03-may-2013 Permite objetos en el metodo de array
* 15-feb-2013 Adaptación a WP
* 18-sep-2012 Cambio en los defines
* 04-sep-2012 Renova y convertido a estático
* 23-may-2012 Alerta de programación
* 15-may-2012 Hora en formato 24h
* 09-may-2012 Añado pon_sql
* 20-mar-2012
*
* [MENTION=109939]Copy[/MENTION]right Carlos Doral Pérez
* @version 0.42
* @author Carlos Doral Pérez
*
*/
class cdp_cookies_log
{
/**
*
*/
static function pon( $texto )
{
global $config;
if( !CDP_COOKIES_LOG_ACTIVO )
return;
if( ( $fi = @fopen( CDP_COOKIES_ARCHIVO_LOG, 'a' ) ) === false )
{
if( !@chmod( CDP_COOKIES_ARCHIVO_LOG, 0777 ) )
return;
if( ( $fi = @fopen( CDP_COOKIES_ARCHIVO_LOG, 'a' ) ) === false )
return;
}
fwrite( $fi, '[' . date( 'Y-m-d H:i:s' ) . '] ' . $texto . "\n" );
fclose( $fi );
}
/**
* Logea valores de un array asociativo
*/
static function pon_array( $array, $titulo )
{
if( is_object( $array ) )
$array = ( array )$array;
$str = "//\n// ARRAY $titulo\n";
if( is_array( $array ) && count( $array ) > 0 )
{
foreach( $array as $k => $v )
$str .= "[$k] = $v\n";
}
else
{
$str .= "-ninguno-\n";
}
self::pon( $str );
}
/**
* Logea el array $_POST
*/
static function post()
{
self::pon_array( isset( $_POST ) ? $_POST : null, 'POST' );
}
/**
* Logea el array $_GET
*/
static function get()
{
self::pon_array( isset( $_GET ) ? $_GET : null, 'GET' );
}
}
/**
*
* Utilidad para dibujar fragmentos HTML
*
* Creada: 18-jun-2013
*
* Modif:
*
* [MENTION=109939]Copy[/MENTION]right Carlos Doral Pérez
* @version 0.1
* @author Carlos Doral Pérez
*
*/
class cdp_cookies_html
{
/**
*
*/
static function tags( $atributos = null )
{
if( $atributos == null )
$atributos = array();
$tags = '';
foreach( $atributos as $k => $v )
{
if( ( trim( $k ) == 'style' ) && is_array( $v ) )
{
$t = array();
foreach( $v as $a => $b )
$t[] = "$a:$b";
$v = implode( ';', $t );
}
$tags .= " $k="$v"";
}
return $tags;
}
/**
*
*/
static function select
(
$nombre_post,
array $items,
$es_asoc,
$valor_seleccionado,
$atributos = null
)
{
$options = '';
foreach( $items as $k => $v )
{
if( !$es_asoc )
$v = $k;
$selected = $valor_seleccionado == $k ? ' selected' : '';
$options .= "<option value="$k"$selected>$v</option>";
}
$tags = self::tags( $atributos );
return
"<select id="$nombre_post" name="$nombre_post" $tags>" .
$options .
"</select>";
}
}
/**
*
* Creada : 13-jun-13
*
* Modificada
* : 10-oct-13 Nuevos métodos
* : 14-jun-13
*
* Versión : 0.13
*
*/
class cdp_cookies_input
{
/**
*
*/
static function get( $nombre_var, $valor_sino_existe = null )
{
if( isset( $_GET ) && isset( $_GET[$nombre_var] ) )
return $_GET[$nombre_var];
return $valor_sino_existe;
}
/**
*
*/
static function post( $nombre_var, $valor_sino_existe = null )
{
if( isset( $_POST ) && isset( $_POST[$nombre_var] ) )
return $_POST[$nombre_var];
return $valor_sino_existe;
}
/**
*
*/
static function objeto_post( $lista_vars )
{
$obj = new stdClass();
foreach( $lista_vars as $var )
$obj->$var = self::post( $var );
return $obj;
}
/**
*
*/
static function validar_array( $nombre_var, $array, $filtrar_previamente = true )
{
if( !isset( $_POST[$nombre_var] ) )
throw new cdp_cookies_error( sprintf( __( "Se requiere un valor para %s" ), $nombre_var ) );
if( $filtrar_previamente )
$_POST[$nombre_var] = sanitize_text_field( $_POST[$nombre_var] );
if( !in_array( $_POST[$nombre_var], $array ) )
throw new cdp_cookies_error( sprintf( __( "Valor incorrecto para la lista %s" ), $nombre_var ) );
}
/**
*
*/
static function validar_url( $nombre_var, $filtrar_previamente = true )
{
if( !isset( $_POST[$nombre_var] ) )
throw new cdp_cookies_error( sprintf( __( "Se requiere un valor para %s" ), $nombre_var ) );
if( $filtrar_previamente )
$_POST[$nombre_var] = sanitize_text_field( $_POST[$nombre_var] );
if( !preg_match( '|^http(s?)://|i', $_POST[$nombre_var] ) )
throw new cdp_cookies_error( sprintf( __( "Valor incorrecto para la url %s" ), $nombre_var ) );
}
}
?>
<?php
/* ======================================================================================
@author Carlos Doral Pérez ([url]http://webartesanal.com[/url])
@version 0.21
[MENTION=109939]Copy[/MENTION]right Copyright © 2013-2014 Carlos Doral Pérez, All Rights Reserved
License: GPLv2 or later
====================================================================================== */
/**
*
*/
class cdp_cookies
{
//
// Para añadir una sóla vez los enlaces en la página de plugins
//
static private $nombre_plugin;
/**
*
*/
static function ejecutar()
{
//
// Plugin no puede ser ejecutado directamente
//
if( !( function_exists( 'add_action' ) && defined( 'ABSPATH' ) ) )
throw new cdp_cookies_error( 'Este plugin no puede ser llamado directamente' );
//
// Ejecutando Admin
//
if( is_admin() )
{
add_filter( 'plugin_action_links', array( __CLASS__, 'enlaces_pagina_plugins' ), 10, 2 );
add_action( 'admin_menu', array( __CLASS__, 'crear_menu_admin' ) );
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'cargar_archivos_admin' ) );
add_action( 'wp_ajax_guardar_config', array( __CLASS__, 'ajax_guardar_config' ) );
add_action( 'wp_ajax_crear_paginas', array( __CLASS__, 'ajax_crear_paginas' ) );
return;
}
//
// Ejecutando front
//
add_action( 'wp_enqueue_scripts', array( __CLASS__, 'cargar_archivos_front' ) );
add_action( 'wp_footer', array( __CLASS__, 'renderizar_aviso' ) );
}
/**
*
*/
static function renderizar_aviso()
{
//
// Posicionamiento en ventana o página
//
$class = '';
if( self::parametro( 'layout' ) == 'ventana' )
$class .= ' cdp-cookies-layout-ventana';
else
$class .= ' cdp-cookies-layout-pagina';
//
// Posición: superior, inferior
//
$class .= ' cdp-cookies-pos-' . self::parametro( 'posicion' );
//
// Alineación de los textos
//
if( self::parametro( 'alineacion' ) == 'izq' )
$class .= ' cdp-cookies-textos-izq';
//
// Esquema de color
//
$class .= ' cdp-cookies-tema-' . self::parametro( 'tema' );
//
// Preparo el texto
//
$tam_fuente = self::parametro( 'tam_fuente' );
$tam_fuente_titulo = str_replace( 'px', '', $tam_fuente ) + 3;
$estilo_texto = 'style="font-size:{tam_fuente} !important;line-height:{tam_fuente} !important"';
$estilo_titulo = 'style="font-size:{tam_fuente_titulo}px !important;line-height:{tam_fuente_titulo}px !important"';
$estilo_enlace = 'style="font-size:{tam_fuente} !important;line-height:{tam_fuente} !important"';
$texto_aviso = html_entity_decode( self::parametro( 'texto_aviso' ) );
//
$html = file_get_contents( CDP_COOKIES_DIR_HTML . 'front/aviso.html' );
$html = str_replace( '{texto_aviso}', $texto_aviso, $html );
$html = str_replace( '{estilo_texto}', $estilo_texto, $html );
$html = str_replace( '{estilo_titulo}', $estilo_titulo, $html );
$html = str_replace( '{estilo_enlace}', $estilo_enlace, $html );
$html = str_replace( '{class}', $class, $html );
$html = str_replace( '{enlace_politica}', self::parametro( 'enlace_politica' ), $html );
$html = str_replace( '{tam_fuente}', $tam_fuente, $html );
$html = str_replace( '{tam_fuente_titulo}', $tam_fuente_titulo, $html );
//
$boton = '';
if( self::parametro( 'comportamiento' ) == 'cerrar' )
$boton = '<a href="javascript:;" class="cdp-cookies-boton-cerrar">CERRAR</a>';
if( self::parametro( 'comportamiento' ) == 'aceptar' )
$boton = '<a href="javascript:;" class="cdp-cookies-boton-cerrar">ACEPTAR</a>';
$html = str_replace( '{boton_cerrar}', $boton, $html );
//
echo $html;
}
/**
*
*/
static function enlaces_pagina_plugins( $enlaces, $archivo )
{
//
// Sólo añado enlaces a mi plugin
//
if( !self::$nombre_plugin )
self::$nombre_plugin = plugin_basename( CDP_COOKIES_DIR_RAIZ . '/plugin.php' );
if( $archivo != self::$nombre_plugin )
return $enlaces;
//
// Procedo
//
$enlace = array(
sprintf(
"<a href="%s">%s</a>",
admin_url( 'tools.php?page=cdp_cookies' ),
__( 'Configuración' )
) );
return array_merge( $enlace, $enlaces );
}
/**
*
*/
static function cargar_archivos_front()
{
wp_enqueue_style( 'front-estilos', CDP_COOKIES_URL_HTML . 'front/estilos.css', false );
wp_enqueue_script( 'front-principal', CDP_COOKIES_URL_HTML . 'front/principal.js', array( 'jquery' ) );
wp_localize_script
(
'front-principal',
'cdp_cookies_info',
array
(
'url_plugin' => CDP_COOKIES_URL_RAIZ . 'plugin.php',
'url_admin_ajax' => admin_url() . 'admin-ajax.php',
'comportamiento' => self::parametro( 'comportamiento' ),
'posicion' => self::parametro( 'posicion' ),
'layout' => self::parametro( 'layout' )
)
);
}
/**
*
*/
static function ajax_crear_paginas()
{
try
{
//
self::comprobar_usuario_admin();
//
if( !wp_verify_nonce( cdp_cookies_input::post( 'nonce_crear_paginas' ), 'crear_paginas' ) )
throw new cdp_cookies_error_nonce();
// Pág. mas info
$pag_info = new cdp_cookies_pagina();
$pag_info->titulo = 'Más información sobre las cookies';
$pag_info->html = file_get_contents( CDP_COOKIES_DIR_HTML . 'front/mas-informacion.html' );
if( !$pag_info->crear() )
throw new cdp_cookies_error( $pag_info->mensaje );
// importante! Guardo la url de la página info que será usada por la política
self::parametro( 'enlace_mas_informacion', $pag_info->url );
// Pág. política
$pag_pol = new cdp_cookies_pagina();
$pag_pol->titulo = 'Política de cookies';
$pag_pol->html =
str_replace
(
'{enlace_mas_informacion}',
self::parametro( 'enlace_mas_informacion' ),
file_get_contents( CDP_COOKIES_DIR_HTML . 'front/politica.html' )
);
if( !$pag_pol->crear() )
throw new cdp_cookies_error( $pag_pol->mensaje );
// Todo ok!
$resul = array( 'ok' => true, 'url_info' => $pag_info->url, 'url_politica' => $pag_pol->url );
if( $pag_pol->ya_existia || $pag_info->ya_existia )
$resul['txt'] = 'Alguna de las página ya existía y no ha sido necesario crearla';
else
$resul['txt'] = 'Páginas creadas correctamente';
echo json_encode( $resul );
}
catch( Exception $e )
{
cdp_cookies_log::pon( $e );
echo json_encode( array( 'ok' => false, 'txt' => $e->getMessage() ) );
}
exit;
}
/**
*
*/
static function ajax_guardar_config()
{
try
{
//
self::comprobar_usuario_admin();
//
if( !wp_verify_nonce( cdp_cookies_input::post( 'nonce_guardar' ), 'guardar' ) )
throw new cdp_cookies_error_nonce();
//
cdp_cookies_input::validar_array( 'layout', array( 'ventana', 'pagina' ) );
cdp_cookies_input::validar_array( 'comportamiento', array( 'navegar', 'cerrar', 'aceptar' ) );
cdp_cookies_input::validar_array( 'posicion', array( 'superior', 'inferior' ) );
cdp_cookies_input::validar_array( 'alineacion', array( 'izq', 'cen' ) );
cdp_cookies_input::validar_array( 'tema', array( 'gris', 'blanco', 'azul', 'verde', 'rojo' ) );
cdp_cookies_input::validar_url( 'enlace_politica' );
cdp_cookies_input::validar_url( 'enlace_mas_informacion' );
if( !cdp_cookies_input::post( 'texto_aviso' ) )
throw new cdp_cookies_error( "El texto del aviso no puede estar vacío" );
if( !preg_match( '/^[0-9]+px$/i', cdp_cookies_input::post( 'tam_fuente' ) ) )
throw new cdp_cookies_error(
"<b>Tamaño de fuente del texto</b> debe tener un valor en px, p.e: 12px"
);
//
self::parametro( 'layout', cdp_cookies_input::post( 'layout' ) );
self::parametro( 'posicion', cdp_cookies_input::post( 'posicion' ) );
self::parametro( 'comportamiento', cdp_cookies_input::post( 'comportamiento' ) );
self::parametro( 'alineacion', cdp_cookies_input::post( 'alineacion' ) );
self::parametro( 'tema', cdp_cookies_input::post( 'tema' ) );
self::parametro( 'enlace_politica', cdp_cookies_input::post( 'enlace_politica' ) );
self::parametro( 'enlace_mas_informacion', cdp_cookies_input::post( 'enlace_mas_informacion' ) );
self::parametro( 'texto_aviso', cdp_cookies_input::post( 'texto_aviso' ) );
self::parametro( 'tam_fuente', cdp_cookies_input::post( 'tam_fuente' ) );
//
echo json_encode( array( 'ok' => true, 'txt' => 'Configuración guardada correctamente' ) );
}
catch( Exception $e )
{
cdp_cookies_log::pon( $e );
echo json_encode( array( 'ok' => false, 'txt' => $e->getMessage() ) );
}
exit;
}
/**
*
*/
static function parametro( $nombre, $valor = null )
{
//
$vdef =
array
(
'layout' => 'ventana',
'posicion' => 'superior',
'comportamiento' => 'navegar',
'alineacion' => 'izq',
'tema' => 'gris',
'enlace_politica' => '#',
'enlace_mas_informacion' => '#',
'texto_aviso' => htmlspecialchars( '<h4 {estilo_titulo}>Uso de cookies</h4><p {estilo_texto}>Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra <a href="{enlace_politica}" {estilo_enlace}>política de cookies</a>, pinche el enlace para mayor información.<a href="http://wordpress.org/plugins/asesor-cookies-para-la-ley-en-espana/" class="cdp-cookies-boton-creditos" target="_blank">plugin cookies</a></p>' ),
'tam_fuente' => '12px'
);
if( !key_exists( $nombre, $vdef ) )
throw new cdp_cookies_error( sprintf( "Parámetro desconocido: %s", $nombre ) );
// Devuelvo valor
if( $valor === null )
{
// Hago una excepción si estoy mostrando el aviso en vista previa
if( cdp_cookies_input::get( 'cdp_cookies_vista_previa' ) )
if( ( $v = cdp_cookies_input::get( $nombre ) ) )
{
// Antes de devolver el valor me aseguro que soy el usuario administrador
try
{
self::comprobar_usuario_admin();
if( $nombre == 'texto_aviso' )
return rawurldecode( $v );
return $v;
}
catch( cdp_cookies_error $e )
{
}
}
if( $nombre == 'texto_aviso' )
return stripslashes( get_option( 'cdp_cookies_' . $nombre, $vdef[$nombre] ) );
return get_option( 'cdp_cookies_' . $nombre, $vdef[$nombre] );
}
// Lo almaceno
update_option( 'cdp_cookies_' . $nombre, $valor );
}
/**
*
*/
static function cargar_archivos_admin()
{
wp_enqueue_style( 'admin-estilos', CDP_COOKIES_URL_HTML . 'admin/estilos.css', false );
wp_register_script( 'admin-principal', CDP_COOKIES_URL_HTML . 'admin/principal.js', array( 'jquery' ) );
wp_enqueue_script( 'admin-principal' );
wp_localize_script(
'admin-principal',
'cdp_cookies_info',
array
(
'nonce_guardar' => wp_create_nonce( 'guardar' ),
'nonce_crear_paginas' => wp_create_nonce( 'crear_paginas' ),
'siteurl' => site_url(),
'comportamiento' => self::parametro( 'comportamiento' )
)
);
}
/**
*
*/
static function comprobar_usuario_admin()
{
if( function_exists( 'current_user_can' ) )
if( function_exists( 'wp_get_current_user' ) )
if( current_user_can( 'manage_options' ) )
return;
throw new cdp_cookies_error( 'No tiene privilegios para acceder a esta página' );
}
/**
*
*/
static function crear_menu_admin()
{
//
// Página configuración que cuelgue de Herramientas
//
add_submenu_page
(
'tools.php',
'Asesor de cookies',
'Asesor de cookies',
'manage_options',
'cdp_cookies',
array( __CLASS__, 'pag_configuracion' )
);
}
/**
*
*/
static function pag_configuracion()
{
require_once CDP_COOKIES_DIR_HTML . 'admin/principal.html';
}
}
/**
*
*/
class cdp_cookies_pagina
{
/**
* entrada
*/
public $titulo, $html;
/**
* salida
*/
public $ya_existia, $url, $ok, $mensaje;
/**
*
*/
function crear()
{
// Validación del título
if( !$this->titulo )
{
$this->ok = false;
$this->mensaje = 'Falta el título de la página';
return false;
}
// Compruebo si ya existe
if( $pag = get_page_by_title( $this->titulo ) )
{
// Si está en la papelera...
if( $pag->post_status == 'trash' )
{
$this->ok = false;
$this->mensaje = 'Alguna de las páginas está en la papelera, debe eliminarla primero';
return false;
}
// Todo bien...
$this->ok = true;
$this->ya_existia = true;
$this->url = get_permalink( $pag );
return true;
}
// Validación del html
if( !$this->html )
{
$this->ok = false;
$this->mensaje = 'Falta el html de la página';
return false;
}
// Me dispongo a crear la página insertando el post en BD
$p = array();
$p['post_title'] = $this->titulo;
$p['post_content'] = $this->html;
$p['post_status'] = 'publish';
$p['post_type'] = 'page';
$p['comment_status'] = 'closed';
$p['ping_status'] = 'closed';
$p['post_category'] = array( 1 );
if( !( $id = wp_insert_post( $p ) ) )
{
$this->ok = false;
$this->mensaje = "No es posible crear la página";
return false;
}
// Se ha creado la página correctamente
$this->ok = true;
$this->ya_existia = false;
$this->url = get_permalink( get_post( $id ) );
return true;
}
}
?>
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?