it-swarm.com.de

Wie zeige ich benutzerdefinierten statischen Inhalt oben auf jeder Kategorieseite an?

Ich möchte benutzerdefinierten statischen Inhalt anzeigen, im Wesentlichen ein Bild und eine kleine Beschreibung oben auf jeder Kategorieseite (unterschiedlich für jede Kategorie und Unterkategorie), die über einer Liste von Titeln der Kategorie-Posts mit Auszügen angezeigt wird.

Gibt es dafür eine automatisierte Lösung/ein automatisiertes Plugin? Ich benötige eine automatisierte Methode zum Einfügen von Text/Bildern, da ich dies an meinen Inhaltsschreiber weitergeben möchte und er sich um die neuen Kategorien kümmert. Ein Rich-Text-Editor, in den ich Bilder und Texte einfügen kann, die einer Kategorie zugewiesen werden und über der Kategorieseite angezeigt werden können.

2
SachinKRaj

Rufen Sie einfach category_description() - auf, um die Beschreibung anzuzeigen, die Sie für jede Kategorie eingeben können, die Sie in der Benutzeroberfläche unter "category" (oder Post-Tag oder jede andere benutzerdefinierte Taxonomie) hinzufügen.

Sie können auch die zugrunde liegende API-Funktion verwenden:

term_description( $category, 'category' );
3
kaiser

Hier ist roher Code für die DIY-Leute.

/** Add New Field To Category **/
function extra_category_fields( $tag ) {
    $t_id = $tag->term_id;
    $cat_meta = get_option( "category_$t_id" );
?>
<tr class="form-field">
    <th scope="row" valign="top"><label for="meta-content"><?php _e('Landing Page Content'); ?></label></th>
    <td>
        <div id="catContent">
            <style type="text/css">.form-field input {width: auto!important;}</style>
            <?php wp_editor($cat_meta['content'], 'cat_landing', array(
                    'textarea_name' =>  'cat_meta[content]',
                    'textarea_rows' =>  15,
            )); ?>
        </div>
        <span class="description"><?php _e('Landing Page Content, Edit This Like You Would A Page.'); ?></span>
    </td> 
</tr>
<?php
}
add_action('category_edit_form_fields','extra_category_fields');  

/** Save Category Meta **/
function save_extra_category_fileds( $term_id ) {
    global $wpdb;
    if ( isset( $_POST['cat_meta'] ) ) {
        $t_id = $term_id;
        $cat_meta = get_option( "category_$t_id");
        $cat_keys = array_keys($_POST['cat_meta']);
            foreach ($cat_keys as $key){
            if (isset($_POST['cat_meta'][$key])){
                $cat_meta[$key] = $_POST['cat_meta'][$key];
            }
        }
        update_option( "category_$t_id", $cat_meta );
    }
}
add_action ( 'edited_category', 'save_extra_category_fileds');

Mit diesen können Sie tatsächlich mehr tun, z. B. Hinzufügen eines Bestellfelds oder was auch immer Ihr Herz begehrt.

Im Aktionsaufruf können Sie Folgendes ändern:

add_action('category_edit_form_fields','extra_category_fields'); nach Ihren Wünschen

taxonomie durch Ändern der Kategorie in Ihren Taxonomienamen:

add_action('YOUR-TAX-HERE_edit_form_fields','extra_category_fields');
add_action ( 'edited_YOUR-TAX-HERE', 'save_extra_category_fileds');

Um Ihren Meta-Inhalt zu erhalten, können Sie Folgendes verwenden:

$category_id = get_cat_ID();
if($category_id != 0){
    $cat_meta = get_option( "category_$category_id");
    echo apply_filters('the_content', $cat_meta['content']);
}
1
Howdy_McGee

Ich würde ein Plugin wie ACF verwenden, um Felder für das Bild und die Beschreibung einer Kategorie zu erstellen, da diese von einer nicht-technischen Person verwendet wird. Dann können Sie die Felder der Taxonomie mit den gefundenen Informationen abfragen hier . Sie können sogar the_description() und nur ein benutzerdefiniertes Feld zum Hochladen des Bildes verwenden.

0
neoian

Sie können das folgende Plugin verwenden: http://wordpress.org/extend/plugins/categorytinymce/screenshots/

Fügen Sie dann in Ihre Vorlagendateien einfach das Tag the_description () template ein.

0
kav