Como posso adicionar uma coluna / s à tabela wp_posts?

Estou tentando sincronizar o WP com outro serviço que oferece uma API que me permite conectar suas Atualizações, Criar, Excluir para os meus sites.

Então, quando eles criam, atualizam ou excluem uma linha em seu servidor, eu recebo detalhes sobre essa atualização, incluindo a ID da linha.

A maneira como eu estou pensando em sincronizar é usando tipos de postagem personalizados e adicione uma nova tabela separada com relação post -> api como post_id:1 = api_id:53 .

Ou altere a tabela wp_posts adicionando uma coluna contendo o api_id.

Eu sei que posso adicionar metabox que irá adicionar isso como post_meta, mas não tenho certeza de quão eficaz será isso e tenho certeza de se eu alterar wp_posts , as consultas serão muito mais rápidas.

Então, como posso alterar wp_posts no modo WordPress? Se isso não for possível, devo adicionar checkboxs de meta ou criar uma tabela inteiramente nova apenas para a relação?

Solutions Collecting From Web of "Como posso adicionar uma coluna / s à tabela wp_posts?"

Você pode, tecnicamente, adicionar uma coluna de postagem com o SQL, mas eu fico cauteloso contra isso, pois os scripts de backup, as exportações etc. provavelmente o ignorariam.

Em vez disso, eu adicionaria o conteúdo como post_meta, usando um campo personalizado ou através do PHP com a function update_post_meta ().

Para buscar um post baseado no meta simplesmente use:

 $args = array( 'post_type' => 'custom_post_type', 'meta_key' => 'api', 'meta_value' => $api_value, ); $posts = get_posts( $args ) 

ou, para obter o valor da chave API

 get_post_meta( $post_ID, 'api', true ); 

Eu recomendo que crie sua própria mesa apenas para essa relação. Desta forma, as consultas podem ser mais rápidas e você não terá que se preocupar com a estrutura da tabela do WordPress que está mudando e arruinando seu trabalho (e potencialmente deixando cair sua coluna e todos os seus dados).

Uma coisa é certa, você sempre terá um id para combinar contra.

EDIT: Pode ser feito dessa maneira, mas post_meta tem vantagens maiores.

Parece que você está tentando armazenar meta-informações sobre as postagens. O WordPress permite que você faça isso usando seus campos personalizados . As funções que você provavelmente encontrará mais úteis são update_post_meta() e get_post_meta() .