webentwicklung-frage-antwort-db.com.de

Möglich, die URL für den normalen Beitragstyp zu ändern, ohne die URL anderer benutzerdefinierter Beitragstypen zu beeinflussen?

DAS DILEMMA

Ich habe ein paar benutzerdefinierte Beitragstypen:

  • Portfolio Items
  • Referenzen
  • FAQs

Die URL-Strukturen für diese benutzerdefinierten Beitragstypen lauten:

  • mysite.com/portfolio/name-of-custom-post
  • mysite.com/Testimonial/Name des benutzerdefinierten Posts
  • mysite.com/faq/name-of-custom-post

Ich möchte den normalen, integrierten WordPress-Post-Typ verwenden, um unsere Blog-Einträge zu steuern. Die URL für jeden Blog-Eintrag sollte folgendermaßen lauten:

  • mysite.com/blog/Name des Beitrags

Wenn ich zu Einstellungen> Permalinks gehe und die URL-Struktur so anpasse, dass sie wie folgt aussieht ...

/blog/%postname%/

... dann sind die URLs für all meiner Beitragstypen betroffen, was zur Folge hat:

  • mysite.com/blog/portfolio/name-of-custom-post
  • mysite.com/blog/testimonial/name-of-custom-post
  • usw...

DIE FRAGE

Was ich wissen möchte - ist es möglich, die URL-Struktur für den integrierten WordPress-Beitragstyp anzupassen, ohne die URL-Struktur anderer benutzerdefinierter Beitragstypen zu beeinflussen?

Die einzige andere Möglichkeit, mein Dilemma zu lösen, besteht darin, einen anderen benutzerdefinierten Beitragstyp mit dem Namen "Blog" zu erstellen. Dies scheint verschwenderisch zu sein, da ich dann den integrierten WordPress-Post-Typ überhaupt nicht verwenden werde.

WENN JEMAND ES BRAUCHT, THE WHY

Wenn sich jemand fragt, warum ich so dringend ein "Blog" in der URL benötige, dann weil wir unser Blog in der gleichen Installation wie unsere Website zusammenführen und die URLs intakt halten möchten, damit wir keinen wertvollen Google-Saft verlieren.

Jede Hilfe wird sehr geschätzt - danke!

9
Ryan

Sie können dies bei einer benutzerdefinierten Post-Type-Registrierung tun.

1) Stellen Sie Ihren Standard-Permalink im WordPress-Admin auf die gewünschte Struktur ein, z.

/ blog /% postname%

2) Fügen Sie den Parameter "slug" und "with_front" zum rewrite-Array in der Funktion register_post_type hinzu. "slug" muss der Name Ihres Beitragstyps sein.

  $args = array(
    // ...
    'rewrite' => array(
        'slug' => 'your_post_type',
        'with_front' => false
    ),
    // ...
  ); 
  register_post_type('your_post_type',$args);

Dies sollte die folgenden Umschreiberegeln generieren:

 Standardbeitrag: http://example.com/blog/%postname%[.____.owntownDefault Page: http://example.com/%postname%[.____.owntownCustom Post Type: http : //example.com/Ihr_Postentyp/%postname% 

EDIT

Der Parameter "slug" ist optional. Wenn Sie es nicht festlegen, wird der Name Ihres benutzerdefinierten Beitragstyps verwendet. Schauen Sie sich die Funktionsreferenz zu register_post_type an: http://codex.wordpress.org/Function_Reference/register_post_type

14
rofflox

Alternative - Sie können permanente 301-Weiterleitungen einrichten. Dadurch werden die Leute auf den richtigen Link weitergeleitet und Ihr Google-Saft bleibt intakt. Ich kenne die Antwort auf Ihre spezielle Frage jedoch nicht.

0
mrtsherman