Eu posso te ajudar, mas você vai precisar explicar seu problema melhor, Carlos! Consegue reformular a pergunta? O que você tá tentando fazer?
estou tentando pegar o valor do titulo e do conteudo do post(ao criar ou editar) executar uma função.
quero usar o valor em uma função, que esta na pasta plugin.
tipo :
funcao($valorTitulo){
…
}
funcao($valorConteudo){
…
}
é para fazer umas modicações no titulo e no conteudo.
e tentar inserir elas no lugar na original (do titulo e mensagem que foram pegos)
à como eu fazer isso Eduardo?
Para mudar algo assim quando cria ou edita precisa usar o action save_post
.
Aqui exemplos de como usar ele: http://codex.wordpress.org/Plugin_API/Action_Reference/save_post
function muda_save_postdata( $post_id ){
$post_title = get_the_title( $post_id );
$resultado = 'muda titulo';
$my_post = array(
'post_title' => wp_strip_all_tags( $resultado ),
'post_content' => $_POST['post_content'],
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array( 8,39 )
);
wp_update_post( $my_post );
}
eu tentei mais não estou conseguindo mudar.
Galera, pelo que eu li aqui, o hook save_post
não é o melhor pra ser usado com a função wp_update_post. Seria melhor algo usando o hook wp_insert_post_data()
:
/**
* Muda o título e o conteúdo do post
*
* @link http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_insert_post_data
*/
function muda_post( $data , $postarr ) {
// Mudamos o título para o valor
$data[ 'post_title' ] = 'Meu título novo';
// Agora, o conteúdo, adicionando uma string ao final do texto já
$data[ 'post_content' ] = $postarr[ 'post_content' ] . '[Texto inserido automaticamente]';
return $data;
}
add_filter( 'wp_insert_post_data' , 'muda_post', 99, 2 );
Agora, uma pergunta: você precisa salvar esse novo valor ou você pode apenas mostrá-lo na tela e não necessariamente guardar a alteração no banco?
Eu preciso salvar ele no lugar do original.
a ideia é assim:
– pegar o valor do titulo e conteudo.
– e pegar o valor de um select que esta em uma meta boxes.
(estou tentando tambem armazenar esse valor, pois quando iniciar o post novamente, o valor escolhido nao mude).
continuando…
apos pegar os valores:
$resultado = funcaomodifica($valortitulo, $valorselect);
$resultado = funcaomodifica($valorconteudo, $valorselect);
e apois isso armazenar elas no lugar do titulo e do conteudo.
Como salvar os valores de meta boxes você pode ver na documentação oficial.