jared
  • 0
Эксперт

Форма для добавления сообщений в произвольный тип сообщений

  • 0

По сути, я хочу отобразить форму в своем блоге (на определенной странице), которая позволит любому заполнить ее, и она создаст сообщение в пользовательском типе сообщения.

Я когда-то видел ответ, но сейчас не могу его найти.

Share
  1. Я знаю, что вы, вероятно, захотите создать это самостоятельно, но я недавно начал работать с плагином под названием Formidable, который делает это очень хорошо. Есть бесплатная версия, можете попробовать. wordpress.org/extend/plugins/грозный

    • 0
  2. публикация из внешнего интерфейса — это вопрос отображения формы и ее обработки:

    форма:

    <!-- New Post Form -->
    <div id="postbox">
    <form id="new_post" name="new_post" method="post" action="">
    
    <!-- post name -->
    <p><label for="title">Title</label><br />
    <input type="text" id="title" value="" tabindex="1" size="20" name="title" />
    </p>
    
    <!-- post Category -->
    <p><label for="Category">Category:</label><br />
    <p><?php wp_dropdown_categories( 'show_option_none=Category&tab_index=4&taxonomy=category' ); ?></p>
    
    
    <!-- post Content -->
    <p><label for="description">Content</label><br />
    <textarea id="description" tabindex="3" name="description" cols="50" rows="6"></textarea>
    </p>
    
    <!-- post tags -->
    <p><label for="post_tags">Tags:</label>
    <input type="text" value="" tabindex="5" size="16" name="post_tags" id="post_tags" /></p>
    <p align="right"><input type="submit" value="Publish" tabindex="6" id="submit" name="submit" /></p>
    
    <input type="hidden" name="action" value="new_post" />
    <?php wp_nonce_field( 'new-post' ); ?>
    </form>
    </div>
    

    обработка:

    if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) &&  $_POST['action'] == "new_post") {
    
        // Do some minor form validation to make sure there is content
        if (isset ($_POST['title'])) {
            $title =  $_POST['title'];
        } else {
            echo 'Please enter a  title';
        }
        if (isset ($_POST['description'])) {
            $description = $_POST['description'];
        } else {
            echo 'Please enter the content';
        }
        $tags = $_POST['post_tags'];
    
        // Add the content of the form to $post as an array
        $new_post = array(
            'post_title'    => $title,
            'post_content'  => $description,
            'post_category' => array($_POST['cat']),  // Usable for custom taxonomies too
            'tags_input'    => array($tags),
            'post_status'   => 'publish',           // Choose: publish, preview, future, draft, etc.
            'post_type' => 'post_type_name'  //'post',page' or use a custom post type if you want to
        );
        //save the new post
        $pid = wp_insert_post($new_post); 
        //insert taxonomies
    }
    
    • 0
  3. Для этого может быть проще использовать плагин.

    Вы также можете использовать отличный плагин Contact Form 7 вместе с плагином расширения Post My CF7 Form, который позволит вам сохранять любые пользовательские формы в пользовательском сообщении, включая изображения в качестве рекомендуемых вложений, настраиваемые мета-поля и выбор/флажок/радио-вводы как таксономии.

    Плагин Post My CF7 Form обладает богатыми функциональными возможностями, которые можно использовать для дальнейшей настройки и настройки способа сохранения ваших форм. Также есть раздел с подробной документацией.

    • 0

Оставить ответ

You must login to add an answer.