Plugin para cumplir ley de Cookies

  • Autor Autor dasilvadanij
  • Fecha de inicio Fecha de inicio
D

dasilvadanij

Gamma
Redactor
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola amigo de foros betas alguien sabe hacer algo como esto ? o conoce algún plugin gratuito que lo haga ?

rj1g0y.png


les agradecería la ayuda ! :sorrow::sorrow:
 
CC Cookie Consent (Silktide):encouragement: ese es el que uso yo en mi sitio web, si quieres demo privado.
 
esta muy bien pero si hay uno como dicedie que crea las paginas y texto buscare y te lo dejo aqui :welcoming:
 
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
 
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. entiendo lo de la imagen pero ahora otra pregunta amigo.
Como haría para que quedara transparente ? osea para que no se vea ese fondo blanco y quede solamente la imagen ?
2a8lsgg.png
 
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.
 
Ya esta recortado y en formato PNG el problema es, el plugin aparentemente. O Hay que modificar algo.

¿pero lo guardaste con transparencia? ¿puedes subir la imagen para revisarla?
 
Aquí esta la imagen
2d2j5aw.jpg

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).
 
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).


Si pero igual el plugin no da la opcion de transparencia, entonces creo que de igual manera me va a dejar la barra voy a intentar como dices.
 
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
 
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

Si amigo es el plugin, estuve buscando en el editor del codigo del plugin y de verdad no consigo nada, No soy muy profesional en editar codigos. Entonces no te sabría decir con exactitud :grumpy:


Insertar CODE, HTML o PHP:
<?php


/* ======================================================================================
   @author     Carlos Doral Pérez (http://webartesanal.com)
   @version    0.15
   [MENTION=109939]Copy[/MENTION]right  Copyright &copy; 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 ) );
	}
}

?>

Estos son los dos códigos que trae el plugin

Insertar CODE, HTML o PHP:
<?php

/* ======================================================================================
   @author     Carlos Doral Pérez ([url]http://webartesanal.com[/url])
   @version    0.21
   [MENTION=109939]Copy[/MENTION]right  Copyright &copy; 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;
	}	
}

?>
 
Atrás
Arriba