it-swarm.com.de

Ist es möglich, die URL von benutzerdefinierten Beitragstypen zu ändern, um den Beitragstyp-Slug auszublenden?

Ich möchte/{custom-post-type}/{post-name} in/{post-name} ändern. Ist dies möglich?

Wenn dies nicht möglich ist, kann ich die Bezeichnungen/Terminologie in Pages oder Posts so ändern, dass sie als "Clients" oder "Projects" usw. bezeichnet werden?

4
Tom
'rewrite' => array('slug' => '/', 'with_front' => false)

Dadurch wird die URL korrekt für Sie erstellt, aber es wird 404, es sei denn, Sie behandeln sie in Ihrem Thema.

8

Sie müssen die Option 'rewrite' in Ihrer benutzerdefinierten Post-Type-Registrierung verwenden.

Z.B. 'rewrite' => array('slug' => 'products'),

Aus dem Kodex

Wenn Sie einen Namespace für eine URL erstellen und dennoch eine "saubere" URL-Struktur verwenden möchten, müssen Sie dem Array das Element " rewrite " hinzufügen. Nehmen wir zum Beispiel das Beispiel "ACME Widgets" von oben an:

add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type( 'acme_product',
      array(
          'labels' => array(
              'name' => __( 'Products' ),
              'singular_name' => __( 'Product' )
          ),
          'public' => true,
          'has_archive' => true,
          'rewrite' => array('slug' => 'products')
      )
  );
}

Das obige führt zu einer URL wie http: /example.com/products/%product_name% (siehe Beschreibung von% product_name% oben). Beachten Sie, dass wir hier ein Pluralformular verwendet haben, ein Format, das manche Leute bevorzugen, weil es ein implizites Format ist logischere URL für eine Seite, auf der eine Liste von Produkten eingebettet ist, z. B. http: /example.com/products/.

Beachten Sie auch, dass die Verwendung eines generischen Namens wie "Produkte" möglicherweise Konflikte mit anderen Plug-ins oder Designs hervorruft, die denselben Namen verwenden. Die meisten Benutzer möchten jedoch keine längeren und undurchsichtigen URLs wie http: /example.com/acme_products/foobrozinator und lösen den URL-Konflikt Das Wechseln zwischen zwei Plugins ist einfacher, da die URL-Struktur nicht dauerhaft in jedem Beitragsdatensatz in der Datenbank auf die gleiche Weise gespeichert wird, wie benutzerdefinierte Beitragstypnamen gespeichert werden.

8
RagnaRock

Ich habe gerade einen Slug für einen benutzerdefinierten Beitragstyp geändert (in diesem Fall habe ich ihn von "best-practices" in "bestpractices" geändert). Ich hatte einen Code kopiert, der eine leere Schnecke hatte, wie folgt:

'rewrite' => array('slug' => ''),

Da es ursprünglich leer gelassen wurde, verwendete Wordpress nur den Namen des benutzerdefinierten Beitragstyps ("best-practices") als Slug. Ich habe meine Codezeile in geändert

'rewrite' => array('slug' => 'bestpractices'),

Ich wollte hier nur darauf hinweisen, dass Sie Ihre Permalinks zurücksetzen müssen, damit die Änderung wirksam wird, wenn Sie Slugs in bereits vorhandenen benutzerdefinierten Beitragstypen ändern.

4
Keegan Berry

ja, wir können die Schnecke wechseln. Bitte folgen Sie den Schritten:

Schritt 1: Ändern Sie den Namen des Slugs über die Option "Rewrite". (befindet sich unter Theme Functions (functions.php))

'rewrite' => array ('slug' => 'products')

Schritt 2: Setzen Sie den permanenten Link zurück. Andernfalls wird der Fehler 404 ausgegeben. 1> gehe zu wp dashboard. 2> Einstellung -> Permalinks

Ändern Sie im Abschnitt für die allgemeinen Einstellungen --- 1st die Einstellung in plain und speichern Sie sie. Ändern Sie danach die Einstellung erneut als Ihr bevorzugtes Format.

0