• 26-01-2022, 15:19:25
    #1
    Merhaba wordpress temada bulunan portfolio slug arşiv sayfasının olmasını istiyorum.

    Örnek: ürün detay sayfası www.site.com/portfolio-items/dolap/

    'has_archive' => true, olduğu için bütün ürünler bu arşiv sayfasında görünüyor www.site.com/portfolio-items/

    'has_archive' => true, kısmını false olarak değiştrince sorun ortadan kalkıyor, ama tema güncellemesi sonrasında yeniden aktif oluyor.

    İstediğim Child temanın functions.php dosyasına fonksiyon ile 'has_archive' => false, verilebilirmi.

    Bir çok temada bu var ve çok işe yarayacaktır.

    Teşekkür ederim.
  • 26-01-2022, 21:15:13
    #2
    portfolio-items cpt mi?
  • 27-01-2022, 15:09:54
    #3
    d3nnis adlı üyeden alıntı: mesajı görüntüle
    portfolio-items cpt mi?
    Mesaj ile yanıtladım satıcı temasına ait kod olduğu için
  • 31-01-2022, 21:45:11
    #4
    ahsullda adlı üyeden alıntı: mesajı görüntüle
    Mesaj ile yanıtladım satıcı temasına ait kod olduğu için
    Özel mesajda hallettik fakat kendisinin isteğ ve izni doğrultusunda başka arkadaşlarımızda aynı işlemi yapmak isterse diye buradan da paylaşıyorum.

    Burada yaptığımız şey; temada oluşturulmuş CPT'ye child temadan müdahale ederek gelecek güncellemelerdeki değişikliklerden etkilenmemek.

    add_filter( 'register_post_type_args', 'cpt_ozellestir', 10, 2 );
    function cpt_ozellestir( $args, $post_type )
    {
    if ( $post_type != 'PARENT_THEME_CPT' ) // Burayı özelleştirmek istediğimiz cpt ile değiştiriyoruz.
    return $args;
    
    // BURADAN DA DEĞİŞİKLİKLERİMİZİ YAPIYORUZ.
    $args['has_archive'] = false;
    $args['menu_position'] = 1; // Deneme amacıyla menu sıralamasını değiştirdirdik
    
    
    /*
       Kullanılabilir argümanlar için:
       https://developer.wordpress.org/reference/functions/register_post_type/#parameters
    */
    
    return $args;
    }