Wordress Внешний массив категорий сообщений - PullRequest
0 голосов
/ 30 октября 2018

Я пытался создать внешнюю форму для поста WordPress. Я использую пользовательский тип сообщения, но не пользовательскую таксономию, и это прекрасно работает.

Я делаю это с помощью функции wp_insert_post, пытаюсь опубликовать заголовок, опубликовать содержимое, позволяя пользователю выбирать между 7 конкретными категориями и разрешать ему создавать до 5 тегов. Заголовок и содержание публикации работают нормально, но я не могу публиковать категории и теги.

Я уже пытался создать массив в post_category и category_name , с определенными идентификаторами и / или слагами и вставкой в ​​форму, но безуспешно.

Это пользовательский тип записи в functions.php:

function custom_post_type_historia() {
    register_post_type('historia', array(
        'label' => 'Histórias',
        'description' => 'Histórias',
        'public' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'capability_type' => 'post',
        'map_meta_cap' => true,
        'has_archive' => true,
        'hierarchical' => false,
        'rewrite' => array('slug' => 'historia', 'with_front' => true),
        'query_var' => true,
        'supports' => array('title', 'editor', 'page-attributes','post-formats'),
        'taxonomies' => array('post_tag','category'),

        'labels' => array (
            'name' => 'Histórias',
            'singular_name' => 'História',
            'menu_name' => 'Histórias',
            'add_new' => 'Adicionar Nova',
            'add_new_item' => 'Adicionar Novo História',
            'edit' => 'Editar',
            'edit_item' => 'Editar História',
            'new_item' => 'Nova História',
            'view' => 'Ver História',
            'view_item' => 'Ver História',
            'search_items' => 'Procurar Histórias',
            'not_found' => 'Nenhuma História Encontrado',
            'not_found_in_trash' => 'Nenhuma História Encontrado no Lixo',
            'has_archive' => true,
        )
    ));
}
add_action('init', 'custom_post_type_historia');

Это мой php:

<?php

if( isset($_POST['submit']) ) {

global $user_ID;

$insert_post = array(
    'post_title' => $_POST['post_title'],
    'post_content' => $_POST['post'],
    'post_status' => 'pending',
    'post_date' => date('Y-m-d H:i:s'),
    'post_author' => $user_ID,
    'post_type' => 'historia',
    // 'category_name' => array("item1", "item2", "item3", "item4", "item5", "item6", "item7")
    'post_category' => array(1, 2, 3, 4, 5, 6, 7),
    'post_tag' => $_POST['post_tag']
);

wp_insert_post($insert_post);

  }

?>

Это форма:

<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>
    <tr>
      <td><label for="post_tag">tag</label></td>
      <td><input name="post_tag" type="text" /></td>
    </tr>
    <tr>
      <td><label for="post_category">Q</label></td>
      <td><input type="checkbox" name="category_name[7]" value="7" id="category" /></td>
    </tr>

  </table>

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

Цените всю помощь

...