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/

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’);

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/

7 increíbles plugins para WordPress

Una de las principales ventajas de WordPress es el gran número de plugins que podemos encontrar para facilitarnos la vida a la hora de desarrollar una web y mejorar varios aspectos.

Aquí os dejamos un listado de plugins que consideramos casi inprescindibles en la mayoría de los proyectos que realizamos:

All in One SEO Pack

Como nos indica su nombre, es un plugin para mejorar el posicionamiento web, permite definir de forma rápida y sencilla los atributos generales de nuestra página como title, meta description y tags. También genera automáticamente los titulos de nuestras páginas y entradas.

Descarga: http://wordpress.org/extend/plugins/all-in-one-seo-pack/
Notas: una vez instalado el plugin, es necesario activarlo y configurar algunas opciones básicas.

Google XML Sitemap Generator

Este plugin nos permite generar automáticamente y en un solo click el árbol de contenidos en formato XML y mantenerlo actualizado de forma automática cada vez que creamos nuevas páginas. Lo que facilita la indexación de nuestras páginas en los buscadores.

Descarga: http://wordpress.org/extend/plugins/google-sitemap-generator/
Notas: para funcionar correctamente, este plugin necesita tener permisos de escritura en la carpeta raiz de nuestra web.

Magic Fields

Permite añadir pestañas nuevas al menu de WordPress (Write panels) y definir campos personalizados tiene cada una de ellas, permitiendo elegir entre varias opciones entre las cuales destacamos campos y áreas de texto y la posibilidad de subir imágenes en un click o arrastrandolas hacia un campo. De esta forma podemos definir muy bien el formato de visualización de nuestras páginas, sobreponiendonos a las limitaciones del editor textual de WordPress, sobretodo cuando quien se encarga de editar los contenidos no es familiar con la visualización HTML.

Descarga: http://wordpress.org/extend/plugins/magic-fields/
Notas: Para los que llevéis más años trabajando con WordPress, os sonará un plugin llamado Flutter, bien, Magic Fields es basicamente la evolución (mejorada) de este plugin.

Adminimize

A la hora de entregar una web a un cliente, muchas veces tenemos que hacer frente a muchos problemas por el gran numero de opciones que presenta el panel de administración de WordPress. Adminimize permite definir por cada rol de usuario, que pestañas serán visibles y cuales no. Por ejemplo podemos crear un usuario editor que sólo tenga visible las entradas.

Descarga: http://wordpress.org/extend/plugins/adminimize/
Notas: este plugin se integra perfectamente con Magic Fields y nos permite semplificar increíblemente la gestión por parte de nuestros clientes.

qTranslate

Este plugin permite traducir nuestras entradas y páginas a distintos idiomas, configurables desde el mismo plugin. A la hora de redactar una entrada, una pagina o añadir una categoría, tendremos un campo por cada idioma.

Descarga: http://wordpress.org/extend/plugins/qtranslate/
Notas: una buena forma de integrar qTranslate y Magic Fields es crear distintos campos personalizados, uno por cada idioma, que tengan el mismo nombre y como sufijo el codigo del idiom (por ejemplo: imagen_principal-en e imagen_principal-es) y a la hora de utilizarlo en nuestro tema, utilizar la función qtrans_getLanguage() (por ejempo: echo get_image(‘imagen-principal-’.qtrans_getLanguage());

Contact Form 7

Contact Form 7 permite crear formulários de contacto avanzados con validación y configurar por cada uno de ellos la dirección de correo que recibe los datos.

Descarga: http://wordpress.org/extend/plugins/contact-form-7/
Notas: es un plugin muy útil, sobretodo cuando tenemos distintos destinatários para los formularios de nuestra web.

Autothumb

Es un plugin que permite incluir phpThumb en nuesto tema, lo que nos permite redimensionar automáticamente cualquier imágen de neustra web. Supongamos de haber definido un campo personalizado “imagen_principal” con Magic fields, para redimensionar dicha imágen a un tamaño fijo (por ejemplo 300×300) tendremos que escribir este código:

Descarga: http://wordpress.org/extend/plugins/autothumb/
Notas: resulta muy interesante sobretodo si los usuarios suben imágenes de gran tamaño y que pesen muchos MB.

Magic Fields: el mejor plugin para crear custom fields personalizados

Magic Fields es un plugin muy útil a la hora de crear webs administrables por el cliente, básicamente permite crear pestañas personalizadas en el menu de administración de WordPress y campos custom ad hoc en nuestras páginas de inserción de posts y páginas.

Por ejemplo puedo crear una pestaña “Productos” y a cada producto añadirle campos como “precio”, “imágenes”, “descripción” ecc. cada uno de estos campos puede tener distintos formatos: campo de texto, textarea, subida de imágenes y puede ser configurado como duplicable.

En mi tema podré recuperar la información de dichos campos de una forma muy sencilla utilizando las funciones que pone a nuestra disposición el plugin.

Mágic Fields es descargable desde el repositório de plugins de WordPress: http://wordpress.org/extend/plugins/magic-fields/

 

Para más información sobre la instalación y el funcionamiento del plugin, en la web oficial del plugin encontraréis todo lo que necesitéis: http://magicfields.org/getting-started/