stromdh 15 Denunciar post Postado Dezembro 13, 2012 Galera... preciso de ajuda, espero que alguém possa me ajudar, é o seguinte: Vi um tutorial na internet que ensina a fazer um plugin para wordpress, o qual eu apliquei com sucesso mas agora depois de te-lo aplicado conforme o cara ensinou, eis que surge a necessidade de adapta-lo as minhas necessidades. O plugin pega os dados preenchidos em um formulario (nome e email) grava eles no banco e mostra os dados gravados no painel de controle. Beleza. Mas eu preciso que os dados sejam gravados como posts e que sejam muitos mais campos do que simplesmente nome e email e preciso que fiquem como pendentes aguardando moderação nos posts. Eu consegui fazer isso, só que agora vem o meu problema (além de eu entender pouquíssimo de php): Cada input do formulário é gravado em uma variável que recebe o resultado do form em um array (eu acho). Eu defini um dos campos para ser o título do post e os demais deveriam ser o conteúdo do post, mas não sei como colocar todos os demais como conteúdo na formatação que eu quero. eu criei uma variável a qual recebeu todas as outras identadas e com o código HTML para ficarem no conteúdo do post exatamente como eu quero, mas como para gravar no banco o código insere uma variável de array com índice associativo, eu me perdi nessa mão pois eu estou colocando simplesmente uma variável está dando erro. Aqui abaixo eu postei o código que pega os valores do form: if($_GET['grava'] == 'sim'){ $vaga = $_REQUEST['vaga']; $email = $_REQUEST['email']; $empresa = $_REQUEST['empresa']; $cidade = $_REQUEST['cidade']; $descricao = $_REQUEST['descricao']; $content = "<b>$empresa</b><br/>" . "<a href='mailto:$email'>$email</a><br />" . "$cidade<br/>" . $descricao; $funcoes = new funcoes(); $funcoes->grava(array('vaga' => $vaga, 'email' => $content)); echo '<meta http-equiv="refresh" content="0; http://localhost/wordpress/?page_id=548" />'; die(); } e aqui o código que grava os valores no banco: public static function grava($dados){ mysql_connect('localhost', 'root','') or die('nao conectou no banco'); mysql_select_db('wordpress') or die('nao selecionou o banco'); mysql_query("INSERT INTO wp_posts (post_title, post_content, post_status) VALUES ('" . $dados['vaga'] . "', '" . $content . "', 'pending')") or die ('não gravou'); } o código grava no banco e aparece como pendente nos posts, mas o problema é que o conteudo está vindo vazio... alguém pode me dar uma luz? Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Dezembro 13, 2012 $funcoes = new funcoes();foreach($_REQUEST as $campo=>$valor){ $funcoes->grava(array($campo => $valor)); } para cada campo você pega o seu nome(que é atribuido no HTML name do input) e o valor(atribuido no HTML val do input) e para cada campo você grava. se você precisar fazer isso de uma vez concatene os valores e jogue o método grava fora do foreach Compartilhar este post Link para o post Compartilhar em outros sites
stromdh 15 Denunciar post Postado Dezembro 13, 2012 Vinicius, agradeço a disposição em me ajudar, mas só uma dúvida: não defini value nos inputs html Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Dezembro 13, 2012 me desculpe se eu fiz a referencia errada, mas é assim mesmo. quando você preenche algo no input automaticamente ele é gravado no value do input o post ou get que você recupera vem do value do input. Compartilhar este post Link para o post Compartilhar em outros sites
stromdh 15 Denunciar post Postado Dezembro 14, 2012 cara, não consegui concatenar a array... até deu certo em uma tentativa usando implode, mas eu acabei concatenando todos os índices da array, e preciso do nome da vaga para gravar como título do post e os demais entrarão no corpo do post. Tem alguma dica de como concatenar? Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Dezembro 15, 2012 você não concatena o array, você concatena os valores dele. Compartilhar este post Link para o post Compartilhar em outros sites
stromdh 15 Denunciar post Postado Dezembro 18, 2012 É - o - ca - ra... deu certo meu velho... grande presença. Valeu pela dica. grande abraço :) Compartilhar este post Link para o post Compartilhar em outros sites