So legen Sie den benutzerdefinierten WordPress-Beitragstyp add_rewrite_rule richtig fest
P粉587970021
P粉587970021 2024-01-16 15:31:03
0
1
425

Mein WP-Blog hat einen benutzerdefinierten Beitragstyp namens „rules_and_laws“ und ich habe eine Funktion hinzugefügt, um die Umschreiberegeln festzulegen:

function custom_rules_and_laws_permalink_structure() {
     add_rewrite_rule(
         '([^/]+)/?$',
        'index.php?rules_and_laws=$matches[1]',
        'top'
        );
 }
add_action( 'init', 'custom_rules_and_laws_permalink_structure' );

Die Regel funktioniert für den benutzerdefinierten Beitragstyp „rules_and_law“, das einzige Problem besteht darin, dass jetzt alle anderen Seiten und Beiträge des Blogs 404 zurückgeben.

Ich habe einen anderen Ansatz ausprobiert und versucht, die Umschreibe-URL nur auf cpt „rules_and_laws“ anzuwenden, aber nichts hat funktioniert:

function custom_rules_and_laws_permalink_structure() {
    // Check if the current post type is 'rules_and_laws'
    if (is_singular('rules_and_laws')) {
        add_rewrite_rule(
            '([^/]+)/?$',
            'index.php?rules_and_laws=$matches[1]',
            'top'
        );
        flush_rewrite_rules(); // Flush the rewrite rules to apply the changes
    }
}
add_action('init', 'custom_rules_and_laws_permalink_structure');

Bei diesem Code werden die Regeln beispielsweise überhaupt nicht angewendet (es sieht so aus, als würde is_singular('rules_and_laws') nicht funktionieren).

Dies ist ein Beispiel für eine Basis-URL:

https://website.com?rules_and_laws=art-4-security-regulation

Dies ist die Neufassung:

https://website.com/art-4-security-regulation

Danke für deine Hilfe.

P粉587970021
P粉587970021

Antworte allen(1)
P粉514458863

应解决该问题的代码更新版本:

function custom_rules_and_laws_permalink_structure() {
    // Register the rewrite rule only for the 'rules_and_laws' post type
    add_rewrite_rule(
        '^rules_and_laws/([^/]+)/?$',
        'index.php?rules_and_laws=$matches[1]',
        'top'
    );

    // Flush the rewrite rules to apply the changes
    flush_rewrite_rules();
}
add_action('init', 'custom_rules_and_laws_permalink_structure');
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage