問題描述

我正在嘗試重寫一個名為 wr_events 的 custom_post_type 的網址,其中一個來自 event_type 的 custom_taxonomy 術語

add_action('init', 'wr_events');

function wr_events() {

     register_taxonomy(
        'event_type',
        'wr_event',
        array(
            'label' => 'Types',
            'singular_label' => 'Typ',
            'hierarchical' => true,
            'query_var' => true,
            'rewrite' => array('slug' => 'events'),
        )
    );

    $labels = array(
        'name' => _x('Events', 'post type general name'),
        'singular_name' => _x('Event', 'post type singular name')
    );

    $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'query_var' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'menu_position' => null,
        'supports' => array('title','editor','thumbnail', 'excerpt'),
        'rewrite' => array(
            //'slug' => 'event',
            'slug' => 'events/%event%',
            'with_front' => false
        ),
        'has_archive' => 'events'
    ); 

    register_post_type( 'wr_event' , $args );
    flush_rewrite_rules();
}

add_action('save_post', 'save_details');

add_filter('post_type_link', 'events_permalink_structure', 10, 4);
function events_permalink_structure($post_link, $post, $leavename, $sample)
{
    if ( false !== strpos( $post_link, '%event%' ) ) {
        $event_type_term = get_the_terms( $post->ID, 'event_type' );
        $post_link = str_replace( '%event%', array_pop( $event_type_term )->slug, $post_link );
    }
    return $post_link;
}

所以在我的情況下,我的分類術語將是”workshops” 或”lectures” 等。 url/events/lecturesurl/events/workshops 列出我所有與此”category” 相關的帖子,url/events 顯示了我所有活動的自定義存檔。 – > 這只是我想要的,但唯一不起作用的是完整的網址到 custom-post 本身…

url/events/lectures/post-name – 丟擲一個 404!

任何想法為什麼會發生這種情況?我的 events_permalink_structure()功能似乎正常工作,因為它取代了我的永久連結,我想要的方式。

我安裝了”Rewrite Analyzer” 外掛,而 wr_eventshows me「正規表示式為空」 。

我也嘗試透過訪問永久連結設定重新整理重寫規則。但沒有效果。

最佳解決方案

將所有%事件%更改為%event_type%。我希望對你有用

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。