Diğer özel gönderi türlerinin URL'sini etkilemeden normal gönderi türünün URL'sini değiştirmek mümkün mü?


9

İkilem

Birkaç özel yazı türüm var:

  • Portföy Öğeleri
  • Görüşler
  • SSS

Bu özel gönderi türleri için URL yapıları şunlardır:

  • sitem.com/ portföy / özel gönderi adı
  • sitem.com/ tanıklık / özel gönderi adı
  • mysite.com/ sss / name-of-özel-posta

Blog girişlerimizi kontrol etmek için normal, yerleşik WordPress yazı türünü kullanmak ve her blog girişi için URL'nin şu şekilde olmasını istiyorum:

  • sitem.com/ blog / yazının adı

Ayarlar> Kalıcı Bağlantılar'a gidip URL yapısını şöyle olacak şekilde ayarlarsam ...

/blog/%postname%/

... daha sonra tüm yazı türlerimin URL'leri etkilenir.

  • sitem.com/ blog / portfolio / özel gönderi adı
  • sitem.com/ blog / referans / özel mesajın adı
  • vb...

Soru

Ne bilmek istiyorum - diğer özel yazı türlerinin URL yapısını etkilemeden yerleşik WordPress yazı tipi için URL yapısını ayarlamak mümkün mü?

İkilemi çözmek için gördüğüm diğer tek yol, "Blog" adlı başka bir özel yazı türü oluşturmaktır. Bu israf gibi görünüyor, çünkü o zaman yerleşik WordPress yazı tipini kullanmayacağım.

Birinin ihtiyacı varsa, Neden

URL'de neden "blog" a ihtiyacım olduğunu merak eden biri varsa, bunun nedeni blogumuzu sitemizle aynı yüklemeyle birleştirmemiz ve değerli Google suyunu kaybetmemek için URL'leri sağlam tutmak istememizdir.

Herhangi bir yardım büyük beğeni topluyor - teşekkürler!


Ben sadece aynı soruyu neredeyse kelimesi kelimesine sordum, bunu bulduğuma sevindim, teşekkürler
JasonDavis

Yanıtlar:


14

Bunu özel yazı türü kaydında yapabilirsiniz.

1) WordPress yöneticisinde varsayılan kalıcı bağlantınızı istediğiniz yapıya ayarlayın, örneğin:

/ Blog /% postname%

2) register_post_type işlevindeki yeniden yazma dizisine "slug" ve "with_front" parametresini ekleyin. "slug", posta türünüzün adı olmalıdır.

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

Bu, aşağıdaki yeniden yazma kurallarını oluşturmalıdır:

Varsayılan Mesaj: http://example.com/blog/%postname%
Varsayılan Sayfa: http://example.com/%postname%
Özel Gönderi Türü: http://example.com/your_post_type/%postname%

DÜZENLE

"Slug" parametresi isteğe bağlıdır. Ayarlamazsanız, özel gönderi türünüzün adı kullanılır. Register_post_type ile ilgili işlev referansına göz atın: http://codex.wordpress.org/Function_Reference/register_post_type


Sen kesinlikle erkeksin. Bu mükemmel çalışıyor; teşekkür ederim!
Ryan

@rofflox. Lütfen bu ( wordpress.stackexchange.com/questions/52471/… ) sorusuna bir göz atın . Cevabını denedim ama bu bana yardımcı olmadı.
Ortalama Joe

0

Alternatif - Kalıcı 301 yönlendirmeleri ayarlayabilirsiniz. Bu, kullanıcıları doğru bağlantıya gönderir ve google suyunuzu sağlam tutar. Yine de özel sorunuzun cevabını bilmiyorum.


Teşekkürler bayım. SEO ekibimize bunu yapmasını sordum ve 301 yönlendirmeleri yaparak Google suyunu biraz kaybettiğiniz söylendi. Hiç kaybetmemek isterim, ama eğer her şey başarısız olursa, sadece bu rotaya gidebilirim.
Ryan

@Ryan - +1 komik benim şirket sadece bu dün öğleden sonra aynı şeyi yapmak istedi. Umarım birisi gelir.
mrtsherman
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.