0

WordPress 3.0-beta1 の投稿パーマリンク スキーマを変更して、新しいカスタム分類法を使用したいと考えています。

今日、私はこの URL を使用でき/%category%/%postname%/ます/my-category/my-post/。これは素晴らしいことですが、「カテゴリ」の代わりに別の分類法を使用する必要があります。

使用しようとしましたが、投稿が属する「 Acevo 」(私の分類名)の名前ではなく、URLに/%acervo%/%postname%/URLが含まれていました。%acervo%

WP_Rewriteに関連するものを見つけましたが、成功しませんでした...

4

4 に答える 4

0

これはトリックにすべきです。

function acervo_permalink($permalink, $post_id, $leavename){
    if (get_option('permalink_structure') != ''){
        $post = get_post($post_id);
        $rewritecode = array(
            '%acervo%'
        );
        if (strpos($permalink, '%acervo%') !== FALSE){   
            $terms = wp_get_object_terms($post->ID, 'acervo');  
            if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) $acervo = $terms[0]->slug;
            else $acervo = '';
        }
        $rewritereplace = array(
            $acervo
        );
        $permalink = str_replace($rewritecode, $rewritereplace, $permalink);
    } 
    return $permalink;
}
于 2010-10-05T22:42:28.007 に答える
0

WordPress プラグインのNo Category Baseを試してから、次のように投稿名のワイルドカードを使用して分類法をハードコーディングすることができます。

/acervo/%postname%/

acervo はワイルドカードではなく「ハードコード」されているため、パーセンテージ記号がないことに注意してください。

于 2010-05-12T19:35:10.017 に答える
0

わかりました... パーマリンク構造をに変更し、/%acervos%/%postname%/WP_Rewrite に飛び込ん%acervos%で、(.*)正規表現に置き換える新しい「置換タグ」を追加しました。

于 2010-05-16T16:38:22.377 に答える
0

カテゴリベースを削除Dashboard/Settings/Permalinks する必要はありませんでカテゴリベースを変更してから、再度追加してください。

于 2010-05-12T21:53:37.057 に答える