it-swarm.com.de

Auswahl "Eltern" beim Hinzufügen/Bearbeiten von Kategorien entfernen?

Ich habe versucht, das Übergeordnete Dropdown-Menü im Bildschirm Beiträge -> Kategorien auszublenden/zu deaktivieren.
http://example.com/wp-admin/edit-tags.php?taxonomy=category

Ich konnte die "Slug" -Option durch diese Funktion hier verbergen:

// Admin - Global Terms Enabled
function disable_global_terms($enablefalse) {
   return 1;
}
add_filter( 'global_terms_enabled', 'disable_global_terms' );

Gibt es eine Möglichkeit, dasselbe für das Übergeordnete Dropdown-Menü zu tun, ohne diesen Code aus den Hauptdateien WP zu löschen, sodass ich dies jedes Mal bei jedem Update tun muss?

2
Roc

Wenn Sie Code aus den Haupt-WordPress-Dateien löschen, bedeutet dies, dass Sie sich mit einer ganzen Reihe von PHP Dateien auskennen. Jetzt ist es an der Zeit, zu lernen, wie man Dinge macht ohne sie zu berühren Kerndateien .

Randnotiz zum Haken in der Frage:
Der Filter global_terms_enabled funktioniert nur für Multisite (/wp-includes/functions.php, Zeile 3006).

In vielen Fällen gibt es keine Hooks zum Ändern der Verwaltungsschnittstelle, sodass die Änderung mit CSS oder jQuery erfolgen muss.
Der Lösungsbalg zeigt, wie Skripte in einem bestimmten Bildschirm (edit-tags.php) des admin_head-SCREEN-ID.php gedruckt werden. Dort können viele Prüfungen durchgeführt werden, in diesem Fall URL-Parameter.

add_action( 'admin_head-edit-tags.php', 'wpse_58799_remove_parent_category' );

function wpse_58799_remove_parent_category()
{
    // don't run in the Tags screen
    if ( 'category' != $_GET['taxonomy'] )
        return;

    // Screenshot_1 = New Category
    // http://example.com/wp-admin/edit-tags.php?taxonomy=category
    $parent = 'parent()';

    // Screenshot_2 = Edit Category
    // http://example.com/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=17&post_type=post
    if ( isset( $_GET['action'] ) )
        $parent = 'parent().parent()';

    ?>
        <script type="text/javascript">
            jQuery(document).ready(function($)
            {     
                $('label[for=parent]').<?php echo $parent; ?>.remove();       
            });
        </script>
    <?php
}

Screenshot_1

Screenshot_1


Screenshot_2

enter image description here

8
brasofilo