En nuestra instalación multi-sitio de Wordpress 3.0, tenemos una opción personalizada para todos nuestros blogs llamada algo así como 'plataforma'. Los administradores pueden ingresar un valor para esta plataforma al crear o editar un blog. Algunos blogs pueden no tener plataforma.¿Cómo puedo consultar de forma simultánea todas las tablas de opciones del blog en una instalación multisitio de Wordpress (3.0)?
Necesitamos poder crear una lista de todas las plataformas y sus blogs asociados. El problema es que creamos y eliminamos dinámicamente blogs a través de otros mecanismos de sitio, por lo que tenemos muchas tablas de opciones de blog con números que no son necesariamente contiguos. (es decir, wp_2_options, wp_4_options, wp_12_options, etc.)
Mi pregunta es esta, ¿hay alguna manera en Wordpress de obtener una opción en todos los blogs? Por el contrario, ¿hay una consulta que podría ejecutar que haría esto manualmente? He intentado algo como esto a ningún efecto:
SELECT * FROM (SELECT nombre_tabla DE INFORMATION_SCHEMA.TABLES DONDE nombre_tabla como 'wp _% _ opciones') como t DONDE option_name = 'plataforma'
¿Tiene sentido lo que estoy tratando de hacer? Una vez más, me disculpo por mi falta de conocimiento de MySql, pero no he podido encontrar ninguna respuesta sobre cómo hacer esto. También podría consultar todos estos nombres de tabla primero, y luego consultar cada tabla por separado, pero eso no es realmente una opción porque tenemos muchos blogs, y es posible que tengamos que ejecutar esta consulta para muchas solicitudes de página simultáneamente, y esto sería agregar cientos de consultas a cada una de estas solicitudes.
Cualquier consejo o ayuda que pudieran dar sería muy apreciado.
gracias por esto. ¿sabes cómo puedes consultar múltiples opciones? – Alex
Hmmm, creo que todo lo que tendría que hacer es cambiar la cláusula WHERE de sus consultas internas. Algo así como: "... WHERE option_name = '$ option_name1' O option_name = '$ option_name2'"; ... También podría usar MYSQL IN clase "... WHERE option_name IN ('$ option_name1', '$ option_name2')" Espero que ayude! –