2010-06-29 20 views

Respuesta

16

Puede hacerlo insertando en la tabla de postmeta usando una consulta de selección en la tabla de mensajes.

En el siguiente ejemplo, uso wp_ como el prefijo de mi tabla, su configuración puede variar.

insert into wp_postmeta (post_id, meta_key, meta_value) 
select ID, 'my-key', 'my-value' from wp_posts where post_type = 'post'; 
+0

funciona. ¡Gracias! ¿hay alguna manera de verificar si la clave meta existe para que no agregue duplicados? – Alex

+6

Funcionó perfectamente. Solo quería agregar una pequeña actualización, ya que esta declaración agrega la postmeta para cada elemento, incluidos los archivos adjuntos, páginas, etc. Agregué una declaración WHERE al final para que solo agregara la clave para las publicaciones: 'insert into wp_postmeta (post_id, meta_key, meta_value) select ID, 'my-key', 'my-value' de wp_posts WHERE post_type = 'post'' – waffl

+0

¡¡Genial !! Me salvó el día y funcionó perfectamente –

1

Sí, esto es posible, pero no es aconsejable. Sus datos podrían perderse la próxima vez que actualice. Si no está planeando una actualización, está dejando agujeros de seguridad en su sitio. La forma recomendada de hacerlo es usar la tabla postmeta. Esto es para lo que existe.

EDITAR

Ahora que entiendo mejor la cuestión, ignorar la parte de arriba. Ver comentarios para más detalles.

+0

No califica tu respuesta. no tengo una cuenta aquí, así que ni siquiera puedo hacerlo de todos modos :) – Alex

+0

Creo que Alex quiere decir cómo puede crear campos personalizados de Wordpress (que usarían la tabla 'postmeta') con SQL, en lugar de cómo puede agregar nuevas columnas a la tabla de publicaciones (que parece ser cómo lo has interpretado John). Sin embargo, el voto a la baja parece poco caritativo. En cuanto a su pregunta, Alex, no creo que pueda hacer esto con una sola declaración de SQL, necesitará recuperar todas las ID de publicación y luego agregar una fila a la tabla 'postmeta' para cada publicación que contenga sus datos de campo personalizados. –

+0

Ah. Creo que tienes razón, Richard. FWIW, Alex, nunca pensé que lo hubieras rechazado. Generalmente, las personas que hacen preguntas están interesadas en encontrar la respuesta y se comunicarán antes de votar. El 'tú' en mi comentario debería tener todos los pronombres impersonales. –

Cuestiones relacionadas