"Fungsi has_term() WordPress tidak berfungsi seperti yang diharapkan"
P粉248602298
P粉248602298 2023-09-06 15:59:22
0
1
506

Saya mempunyai taksonomi artikel tersuai yang ditakrifkan seperti berikut:

// 为文章注册自定义分类法
function custom_taxonomy_page_type_for_posts() {
    $labels = array(
        'name'              => _x( '页面类型', '分类法通用名称' ),
        'singular_name'     => _x( '页面类型', '分类法单数名称' ),
        ...

    $args = array(
        'hierarchical'      => false,
        ...
        'rewrite'           => array( 'slug' => 'page-type' ),
        'show_in_rest'      => true,
    );

    register_taxonomy( 'page_type', 'post', $args );
}

Dalam kod berikut, saya ingin menambah kelas badan berdasarkan sama ada artikel semasa ditetapkan sebagai jenis halaman "surat berita".

/* 这将在body标签上添加“vn-briefing”或“vn-not-briefing”类。 */
function add_page_type_css_class($classes) {
    if (is_singular('post')) {
        // 检查文章是否被分配了ID为187的“页面类型”分类法
        if (has_term('Briefing', 'Page Types')) {
            $classes[] = 'is-briefing';
        } else {
            $classes[] = 'is-not-briefing';
        }
    }
    return $classes;
}
add_filter('body_class', 'add_page_type_css_class');

Walaupun artikel itu diberikan "Jenis Halaman" dengan ID=187 sebagai "Surat Berita", ia sentiasa mengembalikan palsu.

Saya menjangkakan fungsi akan kembali benar jika siaran diberikan jenis halaman "surat berita", tetapi tidak.

Saya juga mencuba:

has_term('Briefing', 'Page Type')
   has_term('Briefing', 'page-type')

Apa yang perlu saya lakukan?

P粉248602298
P粉248602298

membalas semua(1)
P粉022723606

Sintaks yang betul hendaklah has_term('briefing', 'page_type'). Berikut ialah kod yang dikemas kini:

function add_page_type_css_class($classes) {
  if (is_singular('post')) {
    // 检查帖子是否有“页面类型”分类法,其别名为 'briefing'
    if (has_term('briefing', 'page_type')) {
        $classes[] = 'is-briefing';
    } else {
        $classes[] = 'is-not-briefing';
    }
 }
 return $classes;
}
add_filter('body_class', 'add_page_type_css_class');
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!