• 19-03-2023, 20:26:26
    #1
    Merhabalar, domain.com diye bir sitem var. bu sitemdeki yazıların kalıcı bağlantı ayarı domain.com/yazi ama bir yazıma özel olarak url mi domain.com/asd/yazi yapmak istiyorum bu şekilde düzelttiğimde bana otomatik olarak domain.com/asd-yazi yapıyor. Sadece bir yazıya özel bu tarz bi düzeltme yapmanın yolu var mı ?
  • Kabul Edilen Cevap
    • muslumozer adlı üyeden alıntı: mesajı görüntüle
      Sayfa id : 849
      Şuanki Slug : muslumozer.com/proje
      Yapmak İstediğim Slug : muslumozer.com/projeler/proje
      Bu kodu ekledikten sonra, permalink ayarlarınızı kaydederek yeniden yazma kuralını etkinleştirmeniz gerekir. Bunu yapmak için, WordPress yönetici panelinizde
      "Ayarlar" -> "Kalıcı Bağlantılar" sayfasına gidin ve "Değişiklikleri Kaydet" düğmesine tıklayın.
      Artık "/proje" olan URL, "/projeler/proje" olarak yeniden yazılacaktır. Örneğin, "http://www.siteniz.com/proje/" adresinden , "http://www.siteniz.com/projeler/proje/"

      function custom_rewrite_rule() {
          add_rewrite_rule(
              '^projeler/([^/]*)/?',
              'index.php?pagename=proje&proje=$matches[1]',
              'top');
          flush_rewrite_rules();
      }
      add_action('init', 'custom_rewrite_rule', 10, 0);
  • 19-03-2023, 20:39:57
    #2
    Eğer yazı türü page ise alt sayfa seçerek kolayca yapabilirsiniz. Yazı türü page dışında bir şey ise aşağı bıraktığım kodu kendinize göre düzenleyip, temanızın functions.php dosyasında boş bir yere ekleyebilirsiniz.

    function custom_rewrite_rule() {
        add_rewrite_tag('%newslug%', '([^&]+)');
        add_rewrite_rule('^book/eski-slug/?', 'index.php?post_type=book&newslug=1', 'top');
        flush_rewrite_rules();
    }
    add_action('init', 'custom_rewrite_rule');
    newslug kısmına olmasını istediğiniz yeni slug.
    book/eski-slug/ kısmına eski slug.
    post_type= sonrasına ise post türünü girerek kendinize göre değiştirebilirsiniz.
  • 19-03-2023, 20:42:30
    #3
    emrenogay adlı üyeden alıntı: mesajı görüntüle
    Eğer yazı türü page ise alt sayfa seçerek kolayca yapabilirsiniz. Yazı türü page dışında bir şey ise aşağı bıraktığım kodu kendinize göre düzenleyip, temanızın functions.php dosyasında boş bir yere ekleyebilirsiniz.

    function custom_rewrite_rule() {
        add_rewrite_tag('%newslug%', '([^&]+)');
        add_rewrite_rule('^book/eski-slug/?', 'index.php?post_type=book&newslug=1', 'top');
        flush_rewrite_rules();
    }
    add_action('init', 'custom_rewrite_rule');
    newslug kısmına olmasını istediğiniz yeni slug.
    book/eski-slug/ kısmına eski slug.
    post_type= sonrasına ise post türünü girerek kendinize göre değiştirebilirsiniz.
    Teşekkürler hocam yazı türü aslında page post için not aldım bu kodu işime yarayabilir ama page kısmında nasıl alt sayfa seçeceğim hocam? asd diye bir sayfam olsun istemiyorum sadece url kısmı o şekilde gözüksün istiyorum
  • 19-03-2023, 20:46:56
    #4
    muslumozer adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler hocam yazı türü aslında page post için not aldım bu kodu işime yarayabilir ama page kısmında nasıl alt sayfa seçeceğim hocam? asd diye bir sayfam olsun istemiyorum sadece url kısmı o şekilde gözüksün istiyorum
    Sayfa olarak görünmesini istemiyorsanız bunu kullanabilirsiniz;

    function custom_rewrite_rule() {
        add_rewrite_tag('%newslug%', '([^&]+)');
        add_rewrite_rule('^eski-slug/?', 'index.php?page_id=PAGE_ID&newslug=1', 'top');
        flush_rewrite_rules();
    }
    add_action('init', 'custom_rewrite_rule');
    PAGE_ID kısmına sayfa id girmeniz gerekiyor.
  • 19-03-2023, 20:55:44
    #5
    emrenogay adlı üyeden alıntı: mesajı görüntüle
    Sayfa olarak görünmesini istemiyorsanız bunu kullanabilirsiniz;

    function custom_rewrite_rule() {
        add_rewrite_tag('%newslug%', '([^&]+)');
        add_rewrite_rule('^eski-slug/?', 'index.php?page_id=PAGE_ID&newslug=1', 'top');
        flush_rewrite_rules();
    }
    add_action('init', 'custom_rewrite_rule');
    PAGE_ID kısmına sayfa id girmeniz gerekiyor.

    pageslug diye bir sayfa oluşturdum. Bu sayfama şuanda domain.com/pageslug olarak erişebiliyorum. istediğim domain.com/asd/pageslug olarak erişebilmek.

    function custom_rewrite_rule() {
        add_rewrite_tag('%asd/pageslug%', '([^&]+)');
        add_rewrite_rule('^pageslug/?', 'index.php?page_id=849&newslug=1', 'top');
        flush_rewrite_rules();
    }
    add_action('init', 'custom_rewrite_rule');
    Bu şekilde yaptım ama çalışmadı, sanırım hata bu add review rule yerinde. eski slug yerine ne yazıcam tam onu çözemedim
  • 19-03-2023, 21:01:27
    #6
    muslumozer adlı üyeden alıntı: mesajı görüntüle
    pageslug diye bir sayfa oluşturdum. Bu sayfama şuanda domain.com/pageslug olarak erişebiliyorum. istediğim domain.com/asd/pageslug olarak erişebilmek.

    function custom_rewrite_rule() {
        add_rewrite_tag('%asd/pageslug%', '([^&]+)');
        add_rewrite_rule('^pageslug/?', 'index.php?page_id=849&newslug=1', 'top');
        flush_rewrite_rules();
    }
    add_action('init', 'custom_rewrite_rule');
    Bu şekilde yaptım ama çalışmadı, sanırım hata bu add review rule yerinde. eski slug yerine ne yazıcam tam onu çözemedim
    Sayfa id, şu anki slug ve yapmak istediğiniz slug iletin. Ona göre bir kod düzenleyip göndereyim.
  • 19-03-2023, 21:12:11
    #7
    emrenogay adlı üyeden alıntı: mesajı görüntüle
    Sayfa id, şu anki slug ve yapmak istediğiniz slug iletin. Ona göre bir kod düzenleyip göndereyim.
    Sayfa id : 849
    Şuanki Slug : muslumozer.com/proje
    Yapmak İstediğim Slug : muslumozer.com/projeler/proje
  • 19-03-2023, 21:56:12
    #8
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    muslumozer adlı üyeden alıntı: mesajı görüntüle
    Sayfa id : 849
    Şuanki Slug : muslumozer.com/proje
    Yapmak İstediğim Slug : muslumozer.com/projeler/proje
    Bu kodu ekledikten sonra, permalink ayarlarınızı kaydederek yeniden yazma kuralını etkinleştirmeniz gerekir. Bunu yapmak için, WordPress yönetici panelinizde
    "Ayarlar" -> "Kalıcı Bağlantılar" sayfasına gidin ve "Değişiklikleri Kaydet" düğmesine tıklayın.
    Artık "/proje" olan URL, "/projeler/proje" olarak yeniden yazılacaktır. Örneğin, "http://www.siteniz.com/proje/" adresinden , "http://www.siteniz.com/projeler/proje/"

    function custom_rewrite_rule() {
        add_rewrite_rule(
            '^projeler/([^/]*)/?',
            'index.php?pagename=proje&proje=$matches[1]',
            'top');
        flush_rewrite_rules();
    }
    add_action('init', 'custom_rewrite_rule', 10, 0);
  • 19-03-2023, 22:14:38
    #9
    emrenogay adlı üyeden alıntı: mesajı görüntüle
    Bu kodu ekledikten sonra, permalink ayarlarınızı kaydederek yeniden yazma kuralını etkinleştirmeniz gerekir. Bunu yapmak için, WordPress yönetici panelinizde
    "Ayarlar" -> "Kalıcı Bağlantılar" sayfasına gidin ve "Değişiklikleri Kaydet" düğmesine tıklayın.
    Artık "/proje" olan URL, "/projeler/proje" olarak yeniden yazılacaktır. Örneğin, "http://www.siteniz.com/proje/" adresinden , "http://www.siteniz.com/projeler/proje/"

    function custom_rewrite_rule() {
        add_rewrite_rule(
            '^projeler/([^/]*)/?',
            'index.php?pagename=proje&proje=$matches[1]',
            'top');
        flush_rewrite_rules();
    }
    add_action('init', 'custom_rewrite_rule', 10, 0);
    Çalışmadı hocam