web-dev-qa-db-fra.com

Comment afficher le contenu personnalisé personnalisé en haut de chaque page de catégorie?

Je souhaite afficher un contenu statique personnalisé, essentiellement une image et une petite description, en haut de chaque page de catégorie (différent pour chaque catégorie et sous-catégorie), affiché au-dessus d'une liste de titres des messages de catégorie avec des extraits.

Existe-t-il une solution/un plugin automatisé disponible à cet effet? J'ai également besoin d'un moyen automatisé pour insérer du texte/une image, car je souhaite le transmettre à mon rédacteur de contenu, qui se chargera des nouvelles catégories. Un éditeur de texte enrichi dans lequel je peux insérer une image et du texte, qui sera affecté à une catégorie et peut être affiché en haut de la page de catégorie.

2
SachinKRaj

Il suffit d'appeler la category_description() - pour afficher la description que vous pouvez entrer pour chaque catégorie que vous ajoutez dans l'interface utilisateur de l'administrateur sous "catégorie" (ou une balise de publication ou une autre taxonomie personnalisée).

Vous pouvez également utiliser la fonction API sous-jacente:

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

Voici le code brut pour les gens de bricolage.

/** 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');

Avec ceux-ci, vous pouvez en faire plus, comme ajouter un champ de commande ou tout ce que votre coeur désire.

Dans l'appel à l'action, vous pouvez modifier:

add_action('category_edit_form_fields','extra_category_fields'); à votre spécifique

taxonomie en changeant de catégorie en votre nom de taxonomie de la manière suivante:

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

Enfin, pour obtenir votre méta-contenu, vous pouvez utiliser ceci:

$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

J'utiliserais un plugin tel que ACF pour créer des champs pour l'image et la description d'une catégorie, car une personne non technique l'utilisera. Ensuite, vous pouvez interroger les champs de la taxonomie en utilisant les informations trouvées ici . Vous pouvez même utiliser the_description() et un seul champ personnalisé pour télécharger l'image.

0
neoian

Vous pouvez utiliser le plugin suivant: http://wordpress.org/extend/plugins/categorytinymce/screenshots/

Ensuite, dans vos fichiers de modèle, insérez simplement la balise the_description () template.

0
kav