Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • Moderador Eduardo Zulian

    (@eduardozulian)

    Eu posso te ajudar, mas você vai precisar explicar seu problema melhor, Carlos! Consegue reformular a pergunta? O que você tá tentando fazer?

    Criador do tópico carlosstenzel

    (@carlosstenzel)

    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?

    Moderador Claudio Sanches

    (@claudiosanches)

    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

    Criador do tópico carlosstenzel

    (@carlosstenzel)

    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.

    Moderador Eduardo Zulian

    (@eduardozulian)

    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?

    Criador do tópico carlosstenzel

    (@carlosstenzel)

    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.

    Moderador Eduardo Zulian

    (@eduardozulian)

    Como salvar os valores de meta boxes você pode ver na documentação oficial.

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • O tópico ‘pegar valor do titilo e mensagem’ está fechado para novas respostas.