Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pirata_

Trigger no Wordpress

Recommended Posts

Alguem já teve problemas pra rodar trigger no Wordpress?

 

Eu tenho uma aqui que está funcionando no PHPBB (outro CMS que eu uso), mas quando tento rodar a mesma para o Wordpress (claro, mudando os campos necessários), ela simplesmente não funciona.

 

Não apresenta nenhum erro, nem na hora de inserir a trigger nem quando faço o post..

 

Alguém tem ideia? Já fuçei no codex do WP e não achei nada!

Abs

 

Pessoal, alguém tem alguma ideia sobre esse assunto?

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, alguém tem alguma ideia sobre esse assunto?

Abraços

 

Como assim cara?!?!? Trigger no Wordpress?!?!?

Se você estiver precisando criar TRIGGERS no MySQL, leia este artigo: http://imasters.com.br/artigo/8123/mysql/mysql_triggers/

 

Aguardo sua resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu já fiz tudo isso e a trigger já funciona no banco de dados do PHPBB, de outros sites que tenho.

Aí fui testar a mesma no wordpress (e logicamente mudando os campos necessários) e ela num funciona..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então o problema é no Wordpress. Vou mover o seu tópico.

 

Tópico Movido

MySQL http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Wordpress

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother, nunca usei Tigger, para falar a verdade não sei nem como funciona e para que funciona.

Terias como explicar um pouco mais qual a função dele que você queria no Wordpress, para que a gente possa procurar algo que possa resolver seu problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother, nunca usei Tigger, para falar a verdade não sei nem como funciona e para que funciona.

Terias como explicar um pouco mais qual a função dele que você queria no Wordpress, para que a gente possa procurar algo que possa resolver seu problema?

 

Cara, eu mudei o campo de comparação da trigger e até que funcionou o que eu tava precisando fazer. Mas não da forma ideal. Digamos que eu precisava comparar com o parametro XY e to usando apenas o parametro X.

Veja o exemplo:

 

CREATE TRIGGER editar AFTER UPDATE ON wp_posts FOR EACH ROW 
	IF (NEW.post_type = 0) THEN
	
		UPDATE table_noticias SET 
		titulo = NEW.topic_title
		WHERE nid = NEW.topic_id;

	END IF

Isso funciona. Ali onde está "NEW.post_type" era pra ser "NEW.post_status".. mas se eu mudar pra fazer a comparação com o campo que preciso (`post_status`) a trigger simplesmente não funciona.

Muito estranho... rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você tentou criar o trigger? Qual o valor você colocou? O padrão para o campo post_status é "publish". Não seria este o problema?

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, se eu fizer

 

if (NEW.post_status = 'publish')

não funciona....

Compartilhar este post


Link para o post
Compartilhar em outros sites

não.. a ideia é só pegar posts que já estão publicados...

 

Portanto seria

if (NEW.post_status = 'publish')

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim... Mas o que eu quis dizer é que o nome dos campos da tabela estão errados. Olha só

 

CREATE TRIGGER editar AFTER UPDATE ON wp_posts FOR EACH ROW 
        IF (NEW.post_status = 'publish') THEN
        
                UPDATE table_noticias SET 
                titulo = NEW.topic_title
                WHERE nid = NEW.topic_id;

        END IF
Como eu sugeri http://forum.imasters.com.br/public/style_emoticons/default/seta.gif

CREATE TRIGGER editar AFTER UPDATE ON wp_posts FOR EACH ROW 
        IF (NEW.post_status = 'publish') THEN
        
                UPDATE table_noticias SET 
                titulo = NEW.post_title
                WHERE nid = NEW.ID;

        END IF

Você está lendo a tabela wp_posts, e nela o nome dos campos são posts_alguma_coisa e não topic_alguma_coisa

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo.. essa table eu digitei de cabeça só pra exemplificar.. o que tá pegando é que o if num funciona... rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

A idéia é que seja no UPDATE mesmo? Não seria no INSERT? Aparentemente a idéia é que, ao inserir um novo posts, você atualize outra tabela do banco de dados. É isto mesmo? Se for isto, não vejo nem necessidade de fazer, porque você só precisa gravar o ID do post mesmo. Na hora de efetuar a consulta, faça um JOIN.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.