Heim >CMS-Tutorial >WordDrücken Sie >Customisierte WordPress -Administrationsfilter

Customisierte WordPress -Administrationsfilter

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌Original
2025-02-18 11:11:091039Durchsuche

In diesem Artikel wird erläutert, wie Sie WordPress -Filter verwenden, um den Bildschirm der Post -Administration anzupassen. Wir werden die integrierten Filter von WordPress behandeln und Ihnen zeigen, wie Sie benutzerdefinierte Filter erstellen, um die Funktionalität zu verbessern.

Schlüsselkonzepte

  • WordPress bietet Standardfilter auf dem Bildschirm der Post -Administration, um Beiträge basierend auf bestimmten Kriterien anzuzeigen. Diese Filter sind erweiterbar.
  • Neue Filter werden mit den Haken restrict_manage_posts und pre_get_posts hinzugefügt. Diese ermöglichen die Filterung nach verschiedenen Kriterien.
  • benutzerdefinierte Filter für Postformate und Autoren können erstellt werden, indem Sie die functions.php -Datei Ihres Themas (oder ein Plugin) Code hinzufügen.
  • Der pre_get_posts -Filter verändert die Datenbankabfrage und steuert, welche Beiträge angezeigt werden.
  • Benutzerdefinierte Filter verbessern die Benutzererfahrung, fügen Sie Funktionen hinzu und verwalten Sie sauberen Code.

Filterposts: Die Grundlagen

WordPress bietet Standardfilter auf dem Bildschirm der Post -Administration an (z. B. Datumsfilterung, unten gezeigt). Themen und Plugins können mehr hinzufügen. Diese Filter eingrenzen die Postliste basierend auf angegebenen Kriterien ein.

Customized WordPress Administration Filters

Erstellen benutzerdefinierter Filter

Während WordPress integrierte Filter anbietet, benötigen Sie häufig benutzerdefinierte für eine bessere Benutzererfahrung. Zwei Haken sind Schlüssel:

  • restrict_manage_posts: Fügt dem admin -Bildschirm neue Filtersteuerelemente hinzu.
  • pre_get_posts: Ändert die Abfrage, bevor sie ausgeführt wird, und filtern Sie die angezeigten Beiträge.

Beispiel: Filterung durch Autor und Postformat

Erstellen wir Filter für Postautoren und Formate. Stellen Sie sich eine Website vor, auf der Beiträge manuell Formate und Autoren zugewiesen haben. Der Standard -Administratorbildschirm kann überwältigend sein. Wir werden Dropdown -Menüs für eine leichtere Filterung hinzufügen.

Dropdown -Menüs hinzufügen (restrict_manage_posts)

Fügen Sie den folgenden Code der functions.php -Datei Ihres Themas (oder einem Plugin) hinzu:

Filter durch Autor:

<code class="language-php">function add_author_filter() {
    global $post_type;
    if ($post_type == 'post') {
        $user_args = array(
            'show_option_all' => 'All Authors',
            'orderby' => 'display_name',
            'order' => 'ASC',
            'name' => 'author_filter',
            'who' => 'authors',
            'include_selected' => true
        );
        if (isset($_GET['author_filter'])) {
            $user_args['selected'] = (int) sanitize_text_field($_GET['author_filter']);
        }
        wp_dropdown_users($user_args);
    }
}
add_action('restrict_manage_posts', 'add_author_filter');</code>

Filter nach Post -Format:

<code class="language-php">function add_post_format_filter() {
    global $post_type;
    if ($post_type == 'post') {
        $post_formats_args = array(
            'show_option_all' => 'All Formats',
            'orderby' => 'NAME',
            'order' => 'ASC',
            'name' => 'post_format_filter',
            'taxonomy' => 'post_format'
        );
        if (isset($_GET['post_format_filter'])) {
            $post_formats_args['selected'] = sanitize_text_field($_GET['post_format_filter']);
        }
        wp_dropdown_categories($post_formats_args);
    }
}
add_action('restrict_manage_posts', 'add_post_format_filter');</code>

Dies fügt dem Postlistenbildschirm zwei Dropdowns hinzu.

Customized WordPress Administration Filters

Filterung der Postliste (pre_get_posts)

Lassen Sie uns nun die Dropdowns funktionieren:

Filterung durch Autor:

<code class="language-php">function filter_posts_by_author($query) {
    global $post_type, $pagenow;
    if ($pagenow == 'edit.php' && $post_type == 'post' && isset($_GET['author_filter'])) {
        $author_id = sanitize_text_field($_GET['author_filter']);
        if ($author_id != 0) {
            $query->set('author', $author_id);
        }
    }
}
add_action('pre_get_posts', 'filter_posts_by_author');</code>

Filterung nach Postformat:

<code class="language-php">function filter_posts_by_format($query) {
    global $post_type, $pagenow;
    if ($pagenow == 'edit.php' && $post_type == 'post' && isset($_GET['post_format_filter'])) {
        $post_format = sanitize_text_field($_GET['post_format_filter']);
        if ($post_format != 0) {
            $query->set('post_format', $post_format);
        }
    }
}
add_action('pre_get_posts', 'filter_posts_by_format');</code>

Diese Funktionen ändern die Abfrage so, dass nur Beiträge enthalten sind, die dem ausgewählten Autor oder dem Postformat entsprechen.

Customized WordPress Administration Filters

Schlussfolgerung

Dies verbesserte Ihren WordPress -Administrator mit benutzerdefinierten Filtern. Sie können diese an andere Post -Attribute an Filter anpassen (siehe Dokumentation der WordPress -Abfrageklassen). Denken Sie daran, immer Benutzereingaben zu sanieren, um Sicherheitslücken zu vermeiden.

Das obige ist der detaillierte Inhalt vonCustomisierte WordPress -Administrationsfilter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn