Frage

Ich habe drei benutzerdefinierte Post -Typen mit jeweils rund 5 Taxonomien und zwei der benutzerdefinierten Post -Typen teilen zwei Taxonomien.

Ich habe gerade alles für das Posten von der Frontend als den Teil einer Dropdown -Seite eingerichtet, um die post_types anzuzeigen.

Da es jetzt funktioniert, funktioniert das Front -End -Posting, aber die URLs sind kaputt, weil sie nicht den benutzerdefinierten Beitragstyp enthalten, habe ich überall gesucht und kann Null finden, wenn sie benutzerdefinierte Post -Typen auflisten ... kann es getan werden?

Grüße Martin

Bearbeiten: Ich bin gerade darauf gestoßen Over bei Codex,,

War es hilfreich?

Lösung

Entschuldigung, das fühlt sich ein bisschen seltsam an, eigene Frage zu beantworten, aber hier gehst du ....

Deklarieren Sie zunächst die Variable: (benutzerdefinierte Kategorie)

global $userdata;

$errors = array();

$title      = trim($_POST['wpuf_post_title']);
$customcategory      = trim($_POST['customcategory']);
$content    = trim($_POST['wpuf_post_content']);
$tags       = wpuf_clean_tags($_POST['wpuf_post_tags']);
$cat        = trim($_POST['cat']);

Zweitens das Array zum Hinzufügen des Beitrags:

 if (!$errors) {
    $frontend_post = array(
            'post_title'    => $title,
            'post_content'  => $content,
            'post_status'   => $post_status,
            'post_author'   => $userdata->ID,
            'post_category'    =>    array($_POST['cat']),
            'post_type' => $customcategory,
            'tags_input'    => $tags
    );

    $post_id = wp_insert_post($frontend_post);

Erstellen Sie schließlich den Dropdrown aus der Funktion get_post_types:

<?php 
          $args=array(
                     'public'   => true,
                     '_builtin' => false
                     ); 
                $output = 'names';
                $operator = 'and';
                $post_types=get_post_types($args,$output,$operator); 

          echo '<select name="customcategory">';
          foreach ($post_types  as $post_type ) {
          echo '<option value="'. $post_type.'">'. $post_type. '</option>';
}echo '</select>';
?>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top