it-swarm.com.de

Wie verwende ich den gleichen Post-Slug für verschiedene Kategorien?

Ich möchte den gleichen Post-Slug für verschiedene Kategorien verwenden. Weil ich mit der gleichen Schnecke verschiedene Projekte haben werde. Ich habe bereits die Post-Schnecke email. Die zweite email wird zu email-2, aber das will ich nicht.

Zum Beispiel habe ich verschiedene Projekte für E-Mail:

www.example.com/category-one/email
www.example.com/category-two/email
www.example.com/category-three/email
5
waisie li

Verwenden der Eltern-Kind-Seite (empfohlen)

Wenn Sie keine Kategorien und Beiträge benötigen, können Sie dies problemlos mithilfe von Eltern-Kind-Seiten (keine Beiträge) erreichen.

Angenommen, Sie haben drei Seiten wie:

www.example.com/category-one/
www.example.com/category-two/
www.example.com/category-three/

Jetzt können Sie untergeordnete Seiten für die obigen Seiten mit slug email haben, z.

www.example.com/category-one/email
www.example.com/category-two/email
www.example.com/category-three/email

Dies ist möglich, weil WordPress den gesamten Parent-Child-Kombinations-Slug für Seiten (oder jeden anderen hierarchischen Beitragstyp) als eindeutig betrachtet.

Natürlich sind alle diese untergeordneten Seiten mit email slug unterschiedliche Seiten, nur mit dem gleichen End-URL-Slug.

Verwenden der Category-Post-Kombination

Warnung: Standardmäßig unterstützt WordPress dieses & nicht aus gutem Grund. Möglicherweise haben Sie jetzt /%category%/%postname%/ als aktuelle Permalink-Struktur, aber was ist, wenn sie in Zukunft geändert werden muss? Dann haben Sie Konflikte.

Da WordPress dies intern nicht unterstützt, können unvorhergesehene Probleme mit anderen Plugins (z. B. benutzerdefinierten Permalink-Plugins, SEO-Plugins usw.) auftreten.

Dies ist mit dem wp_unique_post_slug filter hook möglich. Das folgende Beispiel-Plugin ermöglicht beispielsweise das mehrfache Auftreten des Slugs email:

<?php
/*
Plugin Name:  WPSE non-unique post slug
Plugin URI:   https://wordpress.stackexchange.com/a/313422/110572
Description:  WPSE non-unique post slug
Version:      1.0.0
Author:       Fayaz Ahmed
Author URI:   https://www.fayazmiraz.com/
*/

add_filter( 'wp_unique_post_slug', 'wpse313422_non_unique_post_slug', 10, 6 );

function wpse313422_non_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_parent, $original_slug ) {
    if( $post_type === 'post' && $original_slug === 'email' ) {
        // Perform category conflict, permalink structure
        //     and other necessary checks.
        // Don't just use it as it is.
        return $original_slug;
    }

    return $slug;
}
3
Fayaz