web-dev-qa-db-fra.com

Comment faire une catégorie toujours sélectionnée?

J'essaie d'écrire une fonction pour que certains termes de la catégorie par défaut soient toujours sélectionnés.

Lorsque l'utilisateur rédige un nouveau message, la case à cocher du terme doit être cochée et il ne doit pas pouvoir le décocher.

C'est possible?

2
She Hulk

Cela peut être fait avec jQuery.

Dans cet exemple, le modificateur est imprimé lors de la modification d'un article existant (admin_head-post.php) et lors de l'écriture d'un nouveau (admin_head-post-new.php).

Il existe une condition pour vérifier le type de publication correct, car ces crochets fonctionnent avec les publications, les pages et les types de publication personnalisés.

L'onglet "Le plus utilisé" est masqué. Pour adresser les catégories de cet onglet, utilisez les identifiants #in-popular-category-CAT_ID.

add_action( 'admin_head-post-new.php', 'wpse_72603_default_categories' );
add_action( 'admin_head-post.php', 'wpse_72603_default_categories' );

function wpse_72603_default_categories()
{
    global $current_screen;

    // If not our post type, do nothing
    if( 'post' != $current_screen->post_type )
        return;
    ?>
    <script language="javascript" type="text/javascript">
        jQuery(document).ready(function($) 
        {
            // Hide the "Most used" tab
            $('#category-tabs .hide-if-no-js').remove();

            // Tick the checkboxes of categories 3 and 9
            $('#in-category-3, #in-category-9').attr('checked', true);

            // Disable the clicks in categories 3 and 9
            $('#in-category-3, #in-category-9, #in-popular-category-9')
            .click(function() { return false; });
        });
    </script>
    <?php
}

Plugin d'intérêt: Arbre de liste de contrôle de catégorie .

Sur l'écran d'édition de publication, après avoir enregistré une publication, vous remarquerez que les catégories cochées sont affichées en haut, brisant ainsi la hiérarchie des catégories. Ce plugin supprime cette "fonctionnalité".

2
brasofilo

J'ai utilisé ce script pour sélectionner une catégorie à l'aide de jQuery.

wp-admin/post-new.php intérieur

$category_name_check = "My Category Name";
echo "<script type=\"text/javascript\">";
echo "jQuery( \"label:contains('$category_name_check') > input\" ).attr('checked', true)";
echo "</script>";

$category_name_check est le nom de la catégorie à vérifier.

0
Cyberdelphos