Soporte » WordPress Avanzado » insertar categoria con wp_insert_post

  • Resuelto massimo_oddo

    (@rodhzuniga)


    Amigos tengo este problema, he creado un código PHP que me permite insertar nuevos posts en mi wordpress, pero ahora me veo en la necesidad de especificar la categoría del mismo y no logro hacerlo, este es mi código, espero puedan ayudarme.

    De antemano gracias

    [PHP]<?php
    if($_POST) {

    $title = $_POST[‘titulo’];
    $content = $_POST[‘contenido’];
    $campo = $_POST[‘slug’];
    $tags = $_POST[‘campo_extra’];
    $category = $_POST[‘categoria’];

    $new_post = array(
    ‘post_title’ => $title,
    ‘post_content’ => $content,
    ‘post_status’ => ‘publish’,
    ‘post_category’ => array(‘category’),
    ‘tags_input’ => $tags
    );

    $post_id = wp_insert_post($new_post);
    add_post_meta($post_id, ‘tags’, $campo, true);
    echo $post_id;
    }
    ?>
    <form method=»post» name=»front_end» action=»» >
    Título del Post<br>
    <input type=»text» name=»titulo» /><br>
    Contenido<br>
    <input type=»text» name=»contenido»/><br>
    tags<br>
    <input type=»text» name=»campo_extra»/><br>
    Categoria<br>
    <input type=»text» name=»categoria» id=»categoria» /><br>
    <button type=»submit»>Enviar CPT</button>
    </form>
    [/PHP]

    Todos los datos los almacena bien, y aparecen al momento los posts, pero no he logrado hacer que las categorías se almacenen en los posts, aparecen todos como ‘sin categoria’

Viendo 5 respuestas - 1 de 5 (de 5 total)
  • Moderador almendron

    (@almendron)

    Prueba a sustituir «category» por el id de la categoría que te interese.

    Ejemplo: 'post_category' => array(8,39)

    Echa un vistazo en https://developer.wordpress.org/reference/functions/wp_insert_post/

    • Esta respuesta fue modificada hace 2 años, 4 meses por almendron.

    Muchas gracias almendron, en realidad ese texto ya lo había encontrado, llegué aquí cuando había agotado posibilidades, hice un post manual sin especificar variables tal y como lo muestra su ejemplo y si me funcionó, aunque aun no logro comprender que indica el array.

    Es decir array(8,39) -> el 39 es el numero de id de la categoria, pero el 8?

    aunque he resuelto mi problema con un add_action, que pronto detallaré aquí o en mi blog, un saludo enorme y muchas gracias.

    Moderador almendron

    (@almendron)

    Se supone que tanto 8 como 39 son id,s de categorías.
    ¿Por qué no haces una prueba poniendo primero solo un id y luego poniendo dos? Asi sabríamos si esa es la forma de insertar categorías o si hay que hacer algo más con el array (que no queda muy claro en el codex)

    Perfecto, gracias!!!! logré crear un add_action que agrega la categoría y el tag cuando no se especifican!!!!, su comentario fue de mucha ayuda!!!

    Moderador almendron

    (@almendron)

    De nada. Un saludo.

Viendo 5 respuestas - 1 de 5 (de 5 total)
  • El debate ‘insertar categoria con wp_insert_post’ está cerrado a nuevas respuestas.