← WordPress

Criar página para submeter post... Como ?

Lida 5058 vezes

Offline

STronic 
Elite
Mensagens 546 Gostos 8
Feedback +5

Troféus totais: 30
Trófeus: (Ver todos)
Mobile User Search Apple User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

Estou a tentar criar posts personalizados com o Custom Post Type, pretendia que a submissão de posts pudesse ser feita pelos visitantes, para tal criar criar apenas um formulário sem necessidade de qualquer tipo de registo...

Encontrei este plug-in que parece fazer isso: http://wordpress.org/extend/plugins/tdo-mini-forms/


A minha intenção seria fazer isso "á mão", sem o uso de plugins, alguém tem ideias de como fazer a página com o formulário para submeter um post?
Offline

Jóni Oliveira 
Administrador
Mensagens 3428 Gostos 395
Feedback +28

Troféus totais: 35
Trófeus: (Ver todos)
Tenth year Anniversary Nineth year Anniversary Mobile User Apple User Level 6 Windows User Super Combination Combination Topic Starter 10 Poll Votes

Também ando à procura disto, o que descobrir primeiro que divulgue  :grin:
Offline

cjseven 
Administrador
Mensagens 1809 Gostos 26
Feedback +3

Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

Podes fazer um formulário com contact 7 para enviar o conteúdo para uma determinada conta de email.

Depois configuras a dita conta na secção "escrita" do wordpress.

Todos os conteúdos enviados para essa conta serão publicados.

NOTA: O único senão pode ser o SPAM e a falta de controlo na publicação. Não sei se dá para definir como rascunho os post enviados desta forma. Quanto ao SPAM, o contact7 permite criar um captcha.  
Offline

STronic 
Elite
Mensagens 546 Gostos 8
Feedback +5

Troféus totais: 30
Trófeus: (Ver todos)
Mobile User Search Apple User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

Podes fazer um formulário com contact 7 para enviar o conteúdo para uma determinada conta de email.

Depois configuras a dita conta na secção "escrita" do wordpress.

Todos os conteúdos enviados para essa conta serão publicados.

NOTA: O único senão pode ser o SPAM e a falta de controlo na publicação. Não sei se dá para definir como rascunho os post enviados desta forma. Quanto ao SPAM, o contact7 permite criar um captcha. 

A primeira ideia que me ocorreu foi essa, mas achei que eram voltas a mais...

Se houvesse uma forma mais directa, tal como faz o plugin, seria o ideal.
Offline

cjseven 
Administrador
Mensagens 1809 Gostos 26
Feedback +3

Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

A primeira ideia que me ocorreu foi essa, mas achei que eram voltas a mais...

Se houvesse uma forma mais directa, tal como faz o plugin, seria o ideal.

fdx... assim confundes-me :D

Primeiro dizes que queres fazer "à mão" sem plugins. Agora dizes que esta solução são voltas a mais?! E esperas uma solução mais directa?

Mais directo que isto sem plugins só se mandares os dados de administração a todos os visitantes ou deres permissões de autor/editor aos mesmos.

Offline

STronic 
Elite
Mensagens 546 Gostos 8
Feedback +5

Troféus totais: 30
Trófeus: (Ver todos)
Mobile User Search Apple User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

fdx... assim confundes-me :D

Primeiro dizes que queres fazer "à mão" sem plugins. Agora dizes que esta solução são voltas a mais?! E esperas uma solução mais directa?

Mais directo que isto sem plugins só se mandares os dados de administração a todos os visitantes ou deres permissões de autor/editor aos mesmos.



lol..
nao me importo de ter o trabalho a construir a página de inserção

Quero é mais directo na forma de inserção. Pela lógica, é possível fazer uma inserção directa através de um formulário criado, sem recorrer a e-mails, ou seja, tal como é feito através dos plugins.

O que quero é criar um formulário com campos personalizados de inserção de post sem registo.

Se não der de outra forma... será por e-mail, obrigado pela dica;)
Offline

Thomato 
Membro
Mensagens 4125 Gostos 3
Feedback +2

Troféus totais: 28
Trófeus: (Ver todos)
Apple User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2

Como queres algo mais simples do que o CJSeven sugeriu?

O formulário de contacto envia o post para um e-mail à tua escolha e o WP publica o que está nesse e-mail, sem ser necessário nenhum plugin. Achas complicado?
Offline

STronic 
Elite
Mensagens 546 Gostos 8
Feedback +5

Troféus totais: 30
Trófeus: (Ver todos)
Mobile User Search Apple User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

Como queres algo mais simples do que o CJSeven sugeriu?

O formulário de contacto envia o post para um e-mail à tua escolha e o WP publica o que está nesse e-mail, sem ser necessário nenhum plugin. Achas complicado?

Eu percebi, e não acho complicado. Apenas estava a tentar ir por outras vias.

Ok. falando e-mail, como trabalho os "custom post types" através do mail ?
Offline

Celso Azevedo 
Membro
Mensagens 3500 Gostos 38
Feedback +12

Troféus totais: 32
Trófeus: (Ver todos)
Level 6 Tenth year Anniversary Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3

Existem alguns temas que vêm com páginas dessas, eu até já estive a ver o código de um desses temas para depois aplicar noutro tema mas não consegui :P Não entendo nada de PHP :P
Offline

STronic 
Elite
Mensagens 546 Gostos 8
Feedback +5

Troféus totais: 30
Trófeus: (Ver todos)
Mobile User Search Apple User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

Existem alguns temas que vêm com páginas dessas, eu até já estive a ver o código de um desses temas para depois aplicar noutro tema mas não consegui :P Não entendo nada de PHP :P

diz lá um dos temas com isso a ver se é mais facil de sacar isso que dos plugins ;)
Offline

rick171br 
Membro
Mensagens 179 Gostos 0
Feedback +4

Troféus totais: 26
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Não sei se é exatamente isso que vocês estão querendo, fiz um exemplo simples que segue abaixo:

Crie um novo arquivo na raiz do seu template. Por exemplo: submeter.php

Copie o código abaixo:

Código: [Seleccione]
<?php
/*
Template Name: Submeter
*/

if(!empty($_POST['action']))
{
if($_POST['cat'] == -1){ $edit_txt "Selecione uma categoria."$errorFound=1; }
else if(strlen($_POST['fields']['title']) < 5){ $edit_txt "O T&iacute;tulo tem que ter no m&iacute;nimo 5 caracteres."$errorFound=1; }
else if(strlen($_POST['fields']['description']) < 15){ $edit_txt "A descri&ccedil;&atilde;o tem que ter no m&iacute;nimo 15 caracteres."$errorFound=1; }

if(!isset($errorFound)){
require_once(ABSPATH WPINC '/registration.php');
 
$my_post = array();
$my_post['post_title'] = $_POST['fields']['title'];
$my_post['post_content'] = $_POST['fields']['description'];
$my_post['post_category'] = array($_POST['cat']);
$my_post['tags_input'] = $_POST['fields']['tags'];
$my_post['post_status'] = 'draft';
$my_post['post_type'] = 'post';
$POSTID wp_insert_post$my_post );

$ThankYou=1;
}
}

?>


<?php if(!isset($ThankYou)){ ?>

<div>

<?php if(isset($edit_txt)){ print "<div>".$edit_txt."</div>"; } ?>


<form name="profile"  action="" method="post" enctype="multipart/form-data">
<input type="hidden" name="action" value="insert" />

<fieldset>
<legend>Enviar</legend>

<div><label for="category">Categoria: <span>*</span><label>
<?php wp_dropdown_categories('show_option_none='.__('Selecione uma categoria'"")); ?></div>

<div><label for="title">T&iacute;tulo: <span>*</span></label>
<input type="text" id="title" name="fields[title]" size="55" maxlength="100" value="<?php if(isset($data)){ echo $data['post_title']; } ?>" /></div>
   
<div><label for="description">Descri&ccedil;&atilde;o: <span>*</span></label>
<textarea name="fields[description]" rows="10" cols="48"><?php if(isset($data)){ echo $data['post_content']; } ?></textarea></div>
   
    <div><label for="location">Tags:</label>
<input type="text" id="tags" name="fields[tags]" size="55" maxlength="100" value="<?php if(isset($data)){ echo $data['tags_input']; } ?>" /></div>

</fieldset>   

<br /><br /><div align="center"><input id="submit" type="submit" value="Enviar" style="width:250px;" /></div>

</form>
</div>

<?php }else{  ?>

<div>Opera&ccedil;&atilde;o realizada com sucesso.</div>

<?php ?>

Crie uma nova página e em template selecione o nosso novo modelo "Submeter".

Qualquer dúvida é só falar.
Offline

STronic 
Elite
Mensagens 546 Gostos 8
Feedback +5

Troféus totais: 30
Trófeus: (Ver todos)
Mobile User Search Apple User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

Obrigado.

Copiei tal como está, se analisar a fundo. e deu o seguinte erro:

Código: [Seleccione]
Parse error: syntax error, unexpected T_VARIABLE in /home/*****/public_html/test/wp-content/themes/*****/submeter.php on line 15
A linha 15 é:
Código: [Seleccione]
$my_post = array();

:s
Offline

rick171br 
Membro
Mensagens 179 Gostos 0
Feedback +4

Troféus totais: 26
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Cara, eu sinceramente não sei o que pode está acontecendo, já que testei localmente ontem e hoje acabei de testar no meu servidor. Qual a versão do PHP?
Offline

STronic 
Elite
Mensagens 546 Gostos 8
Feedback +5

Troféus totais: 30
Trófeus: (Ver todos)
Mobile User Search Apple User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

Testei agora no tema default e já funcionou... onde estava a testar nao deu.
Obrigado, agora vou analisar e ver o que consigo fazer para Custom Post Types ;)
Offline

STronic 
Elite
Mensagens 546 Gostos 8
Feedback +5

Troféus totais: 30
Trófeus: (Ver todos)
Mobile User Search Apple User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

de volta...

e agora para enviar a thumbnail directamente através do front-end ? alguem sabe?

testei isto http://goldenapplesdesign.com/2010/07/03/front-end-file-uploads-in-wordpress/  mas não tenho resultados... quer dizer o registo fica no "Media" mas não envia ficheiro sequer nem dá nome ao "attachment". :s