Como incluir fuentes en nuestra web con @font-face

Una nueva propiedad de CSS3 nos permite incluir en nuestra web cualquier fuente de la que tengamos los archivos. Para ello lo único que tenemos que hacer es:

Ponemos nuestros archivod .ttf (TrueType) o .otf (OpenType) en una carpeta de nuestra web (por ejemplo la fuente “fontName.otf” en la carpeta “fonts”)

Añadimos a la CSS de nuestra página las siguientes líneas

@font-face {
    font-family: fontName;
    src: url(fonts/fontName.otf);
}

Ya podemos utilizar nuestra nueva fuente, por ejemplo en los titulares h2

h2 {
    font-family: fontName, Helvetica, Arial, sans-serif;
}

Cambiar el límite de upload de imágenes en OpenCart

OpenCart fija un límite por defecto en el tamaño máximo de subida de imágenes en 300KB, lo que puede ser problemático a la hora de trabajar con imágenes reales.

Para cambiar este valor tenéis que editar el fichero admin\controller\common\filemanager.php y buscar las siguientes líneas:

if ($this->request->files['image']['size'] > 300000) {
    $json['error'] = $this->language->get('error_file_size');
}

Ahora simplemente tenéis que cambiar el valor de 300000 por un número mayor et voilà, ya podéis subir imágenes más grandes de 300KB.

Wp custom fields search y custom post_type

Si vuestro tema utiliza custom post_types, el plugin de busqueda en los custom fields no funcionará correctamente, para solucionar este problema nos basta con remplazar una palabra dentro del archivo extra_search_fields.php del plugin.

En concreto, si nuestro post type se llama CUSTOM_POST_NAME buscaremos la siguiente función:


function sql_restrict($where){
  if($this->isPosted()){
    global $wpdb;
    /** This could possibly be considered invasive, need to think this bit through
    * properly.
    */
    $where = preg_replace("_AND\s*\(ID\s*=\s*'\d+'\)_","",$where);
    $where = preg_replace("/AND $wpdb->posts.post_type = '(post|page)'/","",$where);
    $where.= " AND ($wpdb->posts.post_type='post')";
    foreach($this->getInputs($_REQUEST['widget_number']) as $input){
      $where = $input->sql_restrict($where);
    }
  }
  return $where;
}

y remplazaremos esta linea:

$where.= ” AND ($wpdb->posts.post_type=’post’)”;

por esta:

$where.= ” AND ($wpdb->posts.post_type=’CUSTOM_POST_NAME’)”;

NB: Y ya está! Todo debería de funcionar correctamente! Lo único que hay que recordar es que en nuestras queries tenemos que añadir el campo “post_type=CUSTOM_POST_NAME”

WP Custom Fields Search – busqueda entre los campos custom de WordPress

Si habéis programado un tema de WordPress utilizando campos personalizados, ya sea con el plugin Magic Fields o a mano, puede que necesitéis añadir entre las opciones de busqueda la posibilidad de filtrar a través de estos campos.

Para ello mi sugerencia es utilizar este fantástico cuanto sencillo plugin que nos da la opción de crear un formulario de busqueda personalizado, incluyendo los campos que queramos.

Descargar el plugin: http://wordpress.org/extend/plugins/wp-custom-fields-search/

Traducir OpenCart al Español / Castellano

Recientemente he tenido que montar una tienda online muy sencilla y he decidido probar con OpenCart, el primer impacto es bueno y parece ser adecuado para el proyecto.

Lo primero que he tenido que hacer ha sido añadir el idioma español/castellano ya que no va incluido por defecto, para ayudaros, os dejo los pasos a seguir para realizar esta operación:

1- Descarga el fichero comprimido con las traducciones

Contiene dos carpetas: “catalog” y “admin” que contienen cada una una carpeta “language/spanish”.

Tenéis que subir las carpetas “spanish” a la ruta correspondiente en nuestra tienda.

2- Crea un idioma nuevo poniendo (System > Localisation > Languages)

Language name (Nombre del Idioma): Español
Code: es
Locale: es_ES.UTF-8,es_ES,es-es,es_es,español
Image: es.png
directory: spanish
Nombre del archivo: spanish
Estado: Activado (Enabled)
Orden: 2

3- Para ponerlo por defecto tendrás que ir a System > Localisation > Your store (edit) > Local

Poner Language: Español

4- Para ponerlo por defecto en el administrador tendrás que ir a System > Localisation > Your store (edit) > Local

Poner Administration Language: Español

Descargar traducciones: http://www.coompras.com/opencart/descargas.html

WordPress: ordenar posts por valor de un custom field

Si utilizáis campos personalizados en vuestros temas, puede que en algún momento queráis ordenar el listado de entradas según el valor de un campo custom.

Por ejemplo si tenemos un listado de productos que tiene el campo personalizado PRECIO, si queremos ordenar segun el valor del precio tendrémos que modificar nuestra query y añadirle esto:

meta_key=PRECIO&orderby=meta_value

Más en general, si tenemos un campo que se llama NOMBRE_CAMPO, nuestra query será algo así:

query_posts(‘meta_key=NOMBRE_CAMPO&orderby=meta_value’);

4 of the most popular jQuery scripts

Hoy en día jQuery ha remplazado casi totalmente el uso de Flash para hacer webs con efectos bonitos e originales. En mi experiencia hay algunos scripts que suelo utilizar muy a menudo, aquí los comparto:

jQuery Cycle Plugin

Es un plugin para crear slides de imágenes, su principal ventaja es la sencillez a la hora de instalarlo e utilizarlo!

Podéis bajarlo aquí: http://jquery.malsup.com/cycle/

jCarousel

Un plugin muy útil cuando creamos galerías de imágenes y queremos un listado de miniaturas.

Para descargar jCarousel: http://sorgalla.com/projects/jcarousel/

jQuery Validation Engine

Si insertamos un formulario de contacto en una web, muchas veces perdemos más tiempo en programar la validación, que en el diseño del formulario en si. Por eso, con este plugin podemos crear forms de forma bastante rápida y sencilla.

Descargar jQuery Validation Engine: http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/

jQuery Tabs

Un script muy util y bien explicado para crear cuadros con distintas pestañas: http://jqueryfordesigners.com/jquery-tabs/

Adminimize: personalizar el menu de administración de WordPress

Cuando creamos un proyecto WordPress para un cliente, siempre que este no tenga experiencia previa con el mismo CMS, nos encontramos con varios problemas a la hora de explicarle el funcionamento del panel de control de WordPress y cuales pestañas le interesan y cuales no.

Para solucionar este problema, resulta muy útil utilizar el plugin Adminimize, que permite ocultar algunas pestañas para roles de usuario específicos; por ejemplo podemos crear un usuario editor y dejarle visibles solo las pestañas de entradas y páginas, para que no pueda asustarse o, peor aún, tocar algo que no debe con los demás apartados del menu.

El plugin es descargable desde este enlace: http://wordpress.org/extend/plugins/adminimize/installation/ y es muy sencillo e intuitívo de configurar. Básicamente podemos marcar en un listado de checkbox los elementos que queremos ocultar y también añadir nuestros propios atributos ID y CLASS para ocultar otros elementos del panel de control.

Para más información y soporte, podemos visitar la web oficial del plugin: http://bueltge.de/wordpress-admin-theme-adminimize/674/