plugin formulario de contacto wordpress mejorado (ajax+cookies+validacion)
ajax:
ahora se puede enviar el formulario sin recargar la pagina
control anti-spam:
una vez enviado los controles quedan bloqueados, para poder enviar otro mensaje se tiene que recargar la pagina
valuación javascript:
comprueba que el usuario introduzca como minimo: nombre, email y mensaje
también comprueba si el correo electrónico es valido
cookies:
cuando alguien comenta en tu blog, automáticamente wordpress genera 3 cookies, donde se guarda: nombre, email y web
estas cookies duran 347 días a partir de la fecha que se crean o modifican
¿por que comento esto?
el plugin original no esta totalmente integrado al wordpress ya que no aprovecha estas cookies y siempre aparecen vacios los campos: nombre, email y web
Lo que he hecho, es aprovechar las cookies que genera wordpress, de esta manera se rellenan los campos automáticamente
¿algo mas?
- al escribir el mensaje, este se hace muy largo el control se ajusta al tamaño del texto
- he puesto la propiedad tabindex en cada uno de los controles del formulario
demo:
podéis ver el funcionamiento en el formulario de contacto de esta web
notas:
el formulario de contacto que hay en mi web no es exactamente el mismo, en mi web he cambiado la alineación de los textos a la derecha para que se vea mas bonito, pero el funcionamiento es el mismo
instalacion:
- instalar el plugin original
- descargar el siguiente fichero:
- renombrarlo a wp-contactform.php
- subirlo a la carpeta y si pregunta por renombrar dile que si:
/wp-content/plugins/wp-contact-form
trucos para agilizar la carga de tu web (parte 2)
separar CSS del codigo HTML
usar menos las etiquetas <style>, si pones los estilos en un fichero .css, el navegador los podra guardar en la cache y te permitira cargar mas rapidamente cada una de las paginas.
por lo contrario, si tienes en cada pagina una etiqueta <style> con los estilos obligaras al usuario a cargar una y otra vez los estilos
caso practico:
si utilizas plugins para wordpress, podras ver que algunos de estos te añaden una etiqueta <style> con los estilos necesarios para el funcionamiento del plugin
solucion:
- mira el codigo fuente de tu pagina principal
- busca alguna si hay alguna etiqueta <style>
- normalmente se muestra el nombre del plugin, apunta el nombre
- copia los estilos que hay dentro de <style> y los pegas en tu plantilla css principal
- ahora dirigete a la carpeta:
/wp-content/plugins - busca el fichero correspondiente al plugin, normalmente el nombre del fichero es el mismo que el del plugin
- abre el fichero y busca la etiqueta <style>, encontraras algo parecido a esto:
PHP:
-
function wpv_actualizacion_css()
-
{
-
//estilo para el plugin
-
echo ' <style type="text/css" media="screen"> /* estilo plugin ultima modificacion */ .lbl_actualizacion {font-weight:bold;color:green;} </style>';}
-
- seguramente estara dentro de una funcion, copia el nombre de la funcion en el ejemplo de arriba wpv_actualizacion_css y buscas el nombre en el mismo fichero, seguramente te saldra algo asi:
PHP:
-
add_filter('wp_head', 'wpv_actualizacion_css');
-
- para desactivarlo solo tienes que poner dos barras // que en PHP significa que es un comentario, quedando asi:
PHP:
-
//add_filter('wp_head', 'wpv_actualizacion_css');
-
trucos para agilizar la carga de tu web (parte 1)
sé que de momento viciao2k3 tarda bastante en cargar, pero eso se puede mejorar y segun vaya optimizando el sitio voy a publicar una serie de consejos para que tu sitio se cargue fluidamente
¿porque es importante?
ahora mas a menos casi todo el mundo tiene ADSL, pero eso no significa que todos esten preparados
si tu web tarda mucho en cargar, el usuario impaciente puede cerrar la pagina y seguramente no volvera
agilizar carga de javascripts
normalmente en las paginas web, todo el javascript se pone en la cabecera, exactamente entre las etiquetas <HEAD> y </HEAD>
pienso que esta mal, ya que obligas al usuario a cargar funciones que posiblemente luego no se utilicen.
si tienes muchos javascripts en un fichero, deberías dividir las funciones en 2 grupos:
- primarias: funciones que se ejecutan en el evento onload
- secundarias: las que no necesitan cargarse al principio.
Por ejemplo, una funcion que muestra un mensaje al hacer clic a un boton
las funciones primarias puedes hacer que se carguen en la cabecera de la pagina y las secundarias antes de la etiqueta </body>
caso practico:
el codigo javascript de Google Analytics, yo recomiendo ponerlo antes de cerrar la etiqueta </body>, ya que si lo pones despues de <body>, estas obligando al usuario a esperar a que se carguen 6,09 KB (6.232 bytes) para luego cargar con el resto del documento
diferencias entre include, require, include_once y require_once
en general las 4 funciones hacen lo mismo, importar en un documento php, funciones o variables de otros documentos escritos en php o html
esto resulta muy util y practico a la hora de dividir y organizar nuestro codigo
pongo un caso, imaginen una funcion que se ejecuta en 4 ficheros php, para poder utilizar la misma funcion esta tendria que estar escrita en cada uno de los ficheros
¿inconvenientes?
- si queremos modificar la funcion, tenemos que cambiar cada una de los ficheros donde este escrita
- tenemos mas trabajo y necesitamos mas tiempo a la hora de modificar cada uno de los ficheros
- mas dificil de mantener
- mas codigo
- mas espacio ocupado
solucion:
creamos un fichero llamado por ejemplo general.php con las funciones que necesitamos y añadimos un include a cada uno de los ficheros
luego para modificar la funcion solo tenemos que editar el fichero general.php
ejemplo de include:
fichero1.php
-
include 'fichero2.php';//$variable es igual a 10
fichero2.php
-
$variable = 10;
si ejecutamos el fichero1.php, mostrara por pantalla el valor de la variable $variable, 10
la diferencia entre require e include, es que si el fichero no existe:
- include mostrara un warning y continuara con la ejecucion
- require mostrara un fatal error y parara la ejecucion
ejemplo de include_once:
fichero1.php
-
include_once("fichero2.php"); //$variable es igual a 10
-
$variable = 20; //$variable es igual a 20
-
include_once("fichero2.php"); //$variable es igual a 20
fichero2.php
-
$variable = 10
si ejecutamos fichero1.php, mostrara por pantalla 20
¿porque 20 y no 10?
tanto include_once como require_once solo se pueden ejecutar una vez
la segunda vez que se llama a include_once, esta es como si no existiera.
si en vez de utilizar include_once, utilizamos include o require el valor final de $variable seria 10
include se comporta igual que include_once, a la hora de importar el fichero, si este no existe mostrara warning y continuara la ejecucion
lo mismo passa con require y require_once, si el fichero no existe muestra un fatal error y para la ejecucion
algunas anotaciones:
- vigila a la hora de hacer mas de un include con ficheros que contengan funciones
si importas un fichero que ya ha sido incluido antes o que contenga alguna funcion declarada anteriormente, aparacera un Fatal error y la ejecucion terminara, ya que no se puede declarar la misma funcion 2 veces - si quieres importar ficheros con solo variables, no tendras problemas para llamarlo mas de una vez (solo con include y require)
- utiliza require o require_once, para cargar archivos de configuracion, que contengan constantes
- puedes hacer un fichero php que contenga una plantilla html de un mensaje de foro y hacer un include a este fichero dentro de un while o for, ojo con include_once no lo puedes hacer
- si el fichero que quieres incluir esta escrito en php, este debe tener encima del codigo <?php y al final ?>, si es codigo html no hace falta
yo y lo sistemas operativos
Empecé con Windows 98 y actualmente uso XP
Quise probar Linux y mi amigo Ender me recomendó el Mandriva
Mi primera experiencia con Linux fue bastante amarga.
¿Porque?
- tenia programas en Windows que no tenían su versión para Linux (Por ejemplo: Swish 2)
- intente usar el Wine y pude ejecutar algunos programas (El paint), pero no era lo mismo y los programas se cerraban sin explicación
- problemas para hacer funcionar el Internet por falta de drivers
En ese año me enseñaron Ubuntu, pero aun estaba muy verde y no detectaba mi modem, total que lo deje
Hace poco compre un PC nuevo con Windows Vista, lo probé un par de días, lo desinstale y volví a XP
También tuve la oportunidad de probar un MAC en el Media Markt.
La verdad, es que me pareció lento, en la barra de tareas no sabía cómo encontrar los procesos abiertos y el precio no es lo que se dice barato (mínimo 1000 euracos)
He visto últimamente que Ubuntu ha mejorado muchísimo, puede que dentro de un año lo intente de nuevo
hasta que llegue ese día seré fiel a XP

Es curioso Gafeman, mi historia es muy parecida empece a los 11-12 años con un CD de una revista semidesconocida en la que venían programas para la creación de webs (aún tengo esa revista) uno de esos programas era Hot Dog, programa que nunca entendí.
Finalmente encontré Microsoft FrontPage con el que logré desarrollar webs de manera un poco más seria, siempre desde el entorno visual intentando tocar el menor código posible. Finalmente seguí con Dreamweaver y poco a poco he ido aprendiendo y mejorando, y aun me queda ;).
Me a gustado leer esta entrada. Saludos.