it-swarm.com.de

So speichern Sie die benutzerdefinierte Taxonomie vor dem Einreichen des Front-End-Posts

Ich habe viele Beiträge zu diesem Thema durchgesehen und kann mich einfach nicht mit dem auseinandersetzen, was ich tun muss.

Ich habe ein Formular, in dem Benutzer von Anfang bis Ende einen Beitrag an einen benutzerdefinierten Beitragstyp senden können. Ich möchte ein Dropdown-Menü integrieren, in dem die Benutzer aus einer von mir erstellten benutzerdefinierten Taxonomie auswählen können. Ich muss den ausgewählten Wert speichern, wenn das Formular gesendet wird.

Die Form:

 <fieldset class="jobcategorydropdown">
        <label for="jobcatdd"> Job Category </label>
        <?php wp_dropdown_categories( 'taxonomy=jobcats&hide_empty=0&name=ddjobcats' ); ?> 
</fieldset>

Taxonomie registrieren:

register_taxonomy('jobcats', 'job_listing', array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'topic' ),

));

Neuen Beitrag erstellen:

function make_job_post() {

$type = 'job_listing';

$jobcatvalue = $_POST['jobcats'];


$post_information = array(
'post_title' => wp_strip_all_tags( $_POST['postTitle'] ),
'post_content' => $_POST['postContent'],
'post_type' => $type,
'post_status' => 'publish',
'tax_input' => array($jobcatvalue)
);

$pid = wp_insert_post($post_information);


wp_set_object_terms($pid, $jobcatvalue,'jobcats');


}

Vermisse ich etwas? Jede Hilfe wäre sehr dankbar!

1
Maeve Power

Wenn Sie $ jobcatsvalue speichern, stellen Sie sicher, dass es sich beim Speichern um ein Array von Ganzzahlen handelt.

    // Format the taxonomies
    if(is_array($_POST['jobcats'])){
        foreach($_POST['jobcats'] as $j){
            $jobcatvalue[] = intval($j);
        }
    } else {
        $jobcatvalue = array(intval($_POST['jobcats']));
    }
1