Envio de postagem de front-end


8

Estou tentando adicionar um formulário no qual os usuários possam enviar postagens do front-end.

Estou seguindo este tutorial: http: // wpshout.com/wordpress-submit-posts-from-frontend/

O que estou fazendo é adicionar esse código a um dos meus modelos de página. O formulário aparece bem, mas quando clico no botão enviar, aparece " Erro de página não encontrada "

Muitos dos comentaristas dizem que não está funcionando. Alguém pode me indicar a direção certa? O código está incompleto? Tem falhas? Estou fazendo algo errado?

obrigado

Towfiq I.


Você pode explicar seu caso de uso? Existem muitas opções, mas algumas não são sugeridas para todos os casos de uso.
MikeSchinkel

11
corrija o título da sua pergunta de Fron-End para Frontend ou Front-End.
Philip

Confira este tutorial muito legal e fácil de seguir sobre como postar no front-end (incluindo galerias de fotos e campos personalizados !!). vudu.me/postreview
trusktr 27/06

Você pode usar os trechos de código a partir deste tutorial para criar um simples WP Front End Posting plugin: http://www.cozmoslabs.com/5528-wordpress-post-from-front-end/
Adrian Spiac

Respostas:


14
<?php $postTitle = $_POST['post_title'];
$post = $_POST['post'];
$submit = $_POST['submit'];

if(isset($submit)){

    global $user_ID;

    $new_post = array(
        'post_title' => $postTitle,
        'post_content' => $post,
        'post_status' => 'publish',
        'post_date' => date('Y-m-d H:i:s'),
        'post_author' => $user_ID,
        'post_type' => 'post',
        'post_category' => array(0)
    );

    wp_insert_post($new_post);

}

?>
<!DOCTYPE HTML SYSTEM>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled Document</title>
</head>

<body>
<div id="wrap">
<form action="" method="post">
<table border="1" width="200">
  <tr>
    <td><label for="post_title">Post Title</label></td>
    <td><input name="post_title" type="text" /></td>
  </tr>
  <tr>
    <td><label for="post">Post</label></td>
    <td><input name="post" type="text" /></td>
  </tr>
</table>

<input name="submit" type="submit" value="submit" />
</form>
</div>

</body>
</html>

Achei isso no Themeforest que está funcionando bem,
você pode fazer muitas coisas com isso, adicionar um código extra para verificar se um usuário está logado ou o que você deseja fazer,

Por outro lado, você deve procurar no repositório de plug-ins do WordPress para descobrir ótimos plugins,
pesquise "frontend"

espero que ajude


@ Philip: Tentei isso, mas obtive o seguinte erro: Erro de análise: erro de análise, inesperado ';', esperando ')' em /home/www/web21/html/tornfraua/wp-admin/custom-post-new.php na linha 10
RoflcoptrException

11
@Roflcoptr, remova o fechamento '?>' Da linha 10 e tudo ficará bem!
Philip

Existe alguma maneira de integrar a lista suspensa de categorias?
Towfiq

@Towfiq - Sim, mas não consigo escrever nos comentários o código, é preciso fazer uma nova pergunta!
Philip

@Philip você pode usar pastebin.com
Towfiq

0

Haha, esse é o meu tutorial que falhou muito. Desculpe por isso, foi algo que escrevi porque nunca tive o problema 404 que todos os outros tiveram com ele.

Os formulários de postagem de front-end que eu uso na maioria das vezes são abertos em uma janela modal, por exemplo, os formulários de postagem que criei para http://wphonors.com são carregados no pop-up do thickbox, que eu acredito que é por isso que nunca tive problemas com isto. Consegui fazer o que quisesse com meus formulários, envio ajax, redirecionamento de envio para postagens enviadas ou apenas mostrar uma mensagem e ir para uma página aleatória.

O meu mau em falhar com esse tutorial, eu tinha boas intenções :)

Talvez tente carregá-los usando o thickbox, é realmente muito simples de fazer. Ainda estou trabalhando em um tutorial de acompanhamento para resgatar o que falhou, mas tem sido difícil fazê-lo funcionar da maneira que a maioria das pessoas provavelmente implementaria em seus sites.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.