it-swarm.com.de

Beitrag vom Frontend mit Beitragstypen, Kategorien und Taxonomien

Ich entwickle gerade eine WordPress-Site, die so etwas wie ein Verzeichnis sein wird. Die Nutzer können exemplarische Vorgehensweisen, erweiterte Überprüfungen sowie Cheat-Codes für Spiele einreichen. Wir wollten für jede Seite ein anderes Formular erstellen, aber jetzt haben wir entschieden, dass ein Formular mit einem Dropdown-Menü in Ordnung ist.

Es scheint keinen guten Plug-in zu geben, den ich finden kann, der der Tatsache Rechnung trägt, dass jeder Beitrag als "ausstehender Beitrag" durchgeschoben werden muss, aber auch für einen bestimmten Beitragstyp.

Das Formular, das wir verwenden, wird beispielsweise folgendermaßen eingerichtet:

Game name: <post title>
Platform:  <Taxonomy>
Category:  <Category> (role playing, FPS, adventure, etc..)
This is a: () Review () Tutorial () Cheat list  <this is the post type>
Content: <post body>
Tags: <tags>
[Submit]

Nach dem Einreichen muss die Überprüfung, der Cheat oder das Tutorial als ausstehender Beitrag in dem Beitragstyp festgelegt werden, der aus den Optionsfeldern ausgewählt wurde.

Ich verwende derzeit WP Benutzer-Front-End, aber ich könnte wahrscheinlich jeden Beitrag aus dem Front-End-Formular verwenden, der für die einfachste Änderung vorgeschlagen wird. Das Hinzufügen der neuen Felder zum Formular ist ganz einfach. Ich würde mich über jede Hilfe freuen, die ich dabei bekomme. Unsere Website dreht sich irgendwie um diese Funktion.

1
Lynne

Es sieht so aus, als ob Schwerkraftformen dies kann. Ich habe gerade eine kurze Suche in den Support-Foren durchgeführt und diese gefunden, eine Antwort auf jemanden, der fast genau die gleiche Frage gestellt hat wie Sie:

Schwerkraftformulare können verwendet werden, um benutzerdefinierte Beitragstypen sowie benutzerdefinierte Taxonomien zu erstellen. Sie müssen verfügbare Hooks verwenden, um Gravity Forms anzuweisen, anstelle der Standardeinstellung einen benutzerdefinierten Beitragstyp oder eine benutzerdefinierte Taxonomie zu verwenden. Standardmäßig werden Standard-WordPress-Posts, -Kategorien und -Tags verwendet.

Also ja, es ist möglich, aber es braucht einen benutzerdefinierten Code. Wenn Sie bereit sind, dies zu implementieren, können Sie in den Foren nach Codebeispielen suchen, wie dies bereits viele Leute getan haben, oder Sie können einen neuen Beitrag veröffentlichen, in dem beschrieben wird, was Sie versuchen, und Unterstützung anfordern, und wir können Ihnen bei grundlegenden Codeausschnitten behilflich sein Fangen Sie an.

Wir planen, in Zukunft ein Add-On zu erstellen, das die Erstellung benutzerdefinierter Beitragstypen und die Verwendung benutzerdefinierter Taxonomien erheblich vereinfacht.

4

es gibt einige kostenlose Plugins, mit denen Sie Beiträge vom Frontend senden können:

und ein besser bezahlter wäre:

Keiner von ihnen bietet Ihnen jedoch die Flexibilität einer benutzerdefinierten Codierung für Ihre Anforderungen, und bei einem Beitrag vom Front-End aus müssen Sie ein Formular anzeigen und verarbeiten. Wenn Sie also Ihrem Anwendungsfall folgen, sieht Ihr Formular folgendermaßen aus:

<!-- New game Post Form -->
<div id="postbox">
<form id="new_post" name="new_post" method="post" action="">

<!-- game name -->
<p><label for="title">Game name</label><br />
<input type="text" id="title" value="" tabindex="1" size="20" name="title" />
</p>

<!-- game platform assuming that the taxonomy is named platform -->
<p><label for="Platform">Platform:</label><br />
<p><?php wp_dropdown_categories( 'show_option_none=Platform&tab_index=4&taxonomy=platform' ); ?></p>

<!-- game Category -->
<p><label for="Category">Category:</label><br />
<p><?php wp_dropdown_categories( 'show_option_none=Category&tab_index=4&taxonomy=category' ); ?></p>

<!-- game post type assuming that the post types are named: review,tutorial,cheat_list-->
<p><label for="post_type">This is a:</label><br />
<p><select name="post_type" id="post_type">
    <option value="review">Review</option>
    <option value="tutorial">Tutorial</option>
    <option value="cheat_list"> Cheat list</option>
</select></p>

<!-- game Content -->
<p><label for="description">Content</label><br />
<textarea id="description" tabindex="3" name="description" cols="50" rows="6"></textarea>
</p>

<!-- game 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_game_post" />
<?php wp_nonce_field( 'new-post' ); ?>
</form>
</div>

und Ihre Formularverarbeitung wäre:

if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) &&  $_POST['action'] == "new_game_post") {

    // Do some minor form validation to make sure there is content
    if (isset ($_POST['title'])) {
        $title =  $_POST['title'];
    } else {
        echo 'Please enter a game  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['post_type']  // Use a custom post type if you want to
    );
    //save the new post
    $pid = wp_insert_post($new_post); 
    //insert taxonomies
    wp_set_post_terms($pid,array($_POST['Platform']),'platform',true);
}

es ist nicht perfekt, aber es ist ein Anfang und Sie sollten die Idee bekommen.

Hoffe das hilft

4
Bainternet