Struktur Permalink untuk Beberapa Arsip Jenis Pos berdasarkan Taksonomi

8

Baru-baru ini saya telah mengerjakan proyek WordPress tingkat lanjut, dan saya terjebak dengan mengubah struktur permalink untuk jenis posting khusus.

Saya telah membuat 3 jenis tulisan, misalkan: type1, type2, type3, dan tes taksonomi terdaftar untuk semuanya. Saya memiliki 3 istilah dalam taksonomi cat1 kustom , cat2, cat3

Inilah yang ingin saya capai:

alih-alih mengakses semua pos dari kucing oleh

siteurl / test / cat1

Saya ingin mengakses setiap arsip post-type dengan taksonomi kucing seperti:

siteurl / type1 / cat1

Alex2452
sumber
apa struktur url?
amit
1
Saya pikir Anda bingung dengan jenis pos kustom dan taksonomi ... tetapi jika Anda memberikan nama asli yang Anda gunakan akan membantu saya untuk memahaminya dengan lebih baik. Misalnya adalah type1 = kendaraan, cat1 = tipe dan term1 = mobil.
chifliiiii
1
Saya setuju dengan @chifliiiii bahwa ini dapat membantu kami jika Anda mengklarifikasi persis bagaimana / apa yang ingin Anda atur. Juga kategori dapat memiliki sub-kategori yang mungkin lebih mudah untuk membentuk hierarki terstruktur.
Chris
Posting ini mungkin memiliki beberapa detail dan arahan untuk Anda: wordpress.stackexchange.com/questions/49141/…
Alex V.

Jawaban:

1

Berikut adalah bagian dari kode dari salah satu proyek saya untuk menyiapkan struktur yang serupa untuk permalinks (siput dasar yang sama untuk kedua jenis posting dan arsip taksonomi), harap perhatikan nilai parameter 'has_archive' dan 'rewrite' dari kedua posting jenis dan taksonomi:

add_action( 'init', 'register_my_post_types' );
function register_my_post_types() {

  register_post_type( 'movie',
    array(
        ....

        'has_archive' => 'movies',
        'rewrite' => array(
            'slug' => 'movies/%mv_category%',
            'with_front' => false
        ),
        'taxonomies' => array(
            'mv_category',
        ),
    )
  );

  register_taxonomy(
    'mv_category',
    array(
        'movie'
    ),
    array(
        ...
        'hierarchical' => true,
        'rewrite' => array(
            'slug' => 'movies',
            'with_front' => false,
            'hierarchical' => false
        )
    )
  );
) // end of create_my_post_types function


add_filter('post_type_link', 'filter_post_type_link', 10, 2);
function filter_post_type_link($link, $post)
{
    if ($post->post_type != 'movie')
        return $link;

    if ($cats = get_the_terms($post->ID, 'mv_category'))
        $link = str_replace('%mv_category%', array_pop($cats)->slug, $link);

    return $link;
}

Kemudian Anda dapat mengakses kategori 'Dokumenter' dari jenis posting Film dengan url ini:

site.com/movies/documentary/

dan 'Film A' dari kategori 'Dokumenter' adalah:

site.com/movies/documentary/movie-a/

CATATAN: Sangat penting untuk mendaftarkan taksonomi setelah jenis posting, karena aturan penulisan ulang permalink dihasilkan di WordPress.

Parham
sumber
0

Tanpa memiliki istilah yang lebih spesifik untuk membantu saya memahami apa yang sebenarnya Anda coba atur, saya tidak yakin saya berada di jalur yang benar, tetapi apakah plugin ini membantu Anda mencapai apa yang Anda coba lakukan? http://wordpress.org/extend/plugins/cpt-onomies/

Ini semacam mengonfigurasi judul dan taksonomi jenis tulisan khusus dengan cara yang aneh (dan mungkin bermanfaat?) ...

mltsy
sumber