Con consultas personalizadas puede realizar cualquier lectura y / o manipulación de datos que desee. Al instante se abre un mundo de nuevas posibilidades..
Las funcionalidades básicas en WordPress están bien para las necesidades más simples, pero ¿qué haría si desea implementar algunas necesidades específicas? ¿Estás escribiendo un plugin tal vez? ¡Entonces debes aprender cómo puedes usar las consultas SQL en WordPress ahora mismo! Las referencias oficiales se pueden encontrar en el Códice de WordPress (Consultas personalizadas y la clase WPDB).
wpdb
ClaseEsta clase global de WordPress es clave para usar las consultas. De hecho, cada función utiliza esta clase..
consulta
La función de consulta necesita una cadena que contenga la consulta personalizada. El valor de retorno es un número entero que corresponde al número de filas afectadas / seleccionadas, y falso cuando hay un error.
$ query = "SELECT COUNT (apple) FROM fruits"; $ wpdb-> consulta ($ consulta);
tener resultados
Esta función obtiene varias filas al ejecutar una consulta. Por defecto el resultado de la función es una matriz..
$ query = "SELECT * FROM wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id = wtt.term_id DONDE wtt.taxonomy = 'post_tag' AND wtt.count = 0"; $ wpdb-> get_results ($ consulta);
get_var
Esto devolverá una variable de la base de datos, pero el resultado completo de la consulta se almacena en caché para su uso posterior. Devuelve NULL si no se encuentra ningún resultado.
$ query = "SELECT COUNT (*) FROM users"; $ wpdb-> get_var ($ consulta);
get_row
Se devolverá una fila completa como resultado de la función, que puede ser un objeto, una matriz asociativa o una matriz indexada numéricamente. NULL es el resultado cuando no se encuentran datos coincidentes. tipo de resultado
puede ser OBJETO
, ARRAY_A
o ARRAY_N
(objeto, matriz asociativa o matriz numerada). La compensación es un número entero con un valor predeterminado de 0.
$ query = "SELECT * FROM wp_posts WHERE post_type = 'post'"; $ wpdb-> get_row ($ query, ARRAY_A, 3);
get_col
Para obtener una columna, usa esta función. La salida será una matriz dimensional. Se devolverá una matriz vacía si no se encuentra ningún resultado. El segundo parámetro es el desplazamiento de la columna..
$ query = "SELECT * FROM wp_posts WHERE post_type = 'post'"; $ wpdb-> get_col ($ consulta, 3);
Según el manual de php.net:
"Se puede considerar que las [consultas preparadas] son un tipo de plantilla compilada para el SQL que una aplicación quiere ejecutar, que se puede personalizar utilizando parámetros variables".
Puede proteger consultas SQL contra ataques de inyección SQL. En resumen, los datos en las consultas deben tener un escape de SQL antes de que se ejecute la consulta para evitar ataques de inyección. Esto se puede hacer fácilmente con el método de preparación. En el siguiente ejemplo, los valores '10', 'mono' y 'manzana' se escaparán cuando se utilicen en este método.
// Uso: $ wpdb-> prepare ('query' [, value_parameter, value_parameter…]); $ wpdb-> query ($ wpdb-> prepare ("INSERT INTO test_table (post_id, animal, food) VALORES (% d,% s,% s)", array (10, 'monkey', 'apple')))) ;
Puede activar y desactivar los mensajes de error con la show_errors
y hide_errors
funciones, pero también puede imprimir:
$ wpdb-> show_errors (); $ wpdb-> hide_errors ();
La eliminación de la memoria caché se puede hacer con el rubor
función.
$ wpdb-> flush ();
$ wpdb-> insert ($ table, $ data, $ format); $ wpdb-> insert ('foods', array ('fruit' => 'apple', 'year' => 2012), array ('% s', '% d'));
Los parámetros utilizados en orden son:
$ datos
. Si no está presente, todos los valores serán tratados como cadenas$ wpdb-> update ('foods', array ('fruit' => 'apple', // string 'year' => 'value2' // integer (number)), array ('ID' => 1), array ('% s', // value1 '% d' // value2), array ('% d'));
Los parámetros utilizados en orden son:
Puede obtener información sobre las columnas del resultado más reciente con esta función. Cuando una función ha devuelto un OBJETO
y hay propiedades de las que no sabes mucho, esto puede ser útil.
$ wpdb-> get_col_info ('tipo', desplazamiento);
nombre
- Nombre de columna (este es el valor predeterminado)mesa
- nombre de la tabla a la que pertenece la columnalongitud máxima
- longitud máxima de la columnano nulo
- 1 si la columna no puede ser NULALas tablas de la base de datos de WordPress se pueden consultar en el wpdb
clase. Esto es muy conveniente ya que los nombres de las tablas pueden ser diferentes a los predeterminados. Aquí hay una lista de referencias de la tabla de base de datos de WordPress:
$ wpdb-> mensajes;
$ wpdb-> postmeta;
$ wpdb-> comentarios;
$ wpdb-> commentmeta;
$ wpdb-> términos;
$ wpdb-> term_taxonomy;
$ wpdb-> term_relationships;
$ wpdb-> usuarios;
$ wpdb-> usermeta;
$ wpdb-> enlaces;
$ wpdb-> opciones;
Tenga en cuenta que no necesitamos incluir el prefijo, ese es el beneficio aquí donde wpdb
La clase se encarga de eso por nosotros..
¡Ahí lo tenemos! Una referencia para consultas personalizadas en WordPress, todo en un solo lugar para usted.