サポート » プラグイン » Bogo カスタム投稿タイプのパーマリンク

  • 解決済 pictron

    (@pictron)


    多言語化環境のテスト構築でBogoを試しています。
    post,pageの投稿タイプはインストールだけで切り替えができました。
    カスタム投稿タイプは、サポートの他の書き込みを見て

    function bogo_add_post_type() {
    $localizable = array( ‘post’, ‘page’,’works’ );

    return $localizable;
    }
    add_filter( ‘bogo_localizable_post_types’, ‘bogo_add_post_type’ );

    とすると、管理画面で多言語化対応になりました。
    ただパーマリンクがpost,pageは大丈夫なのですが、カスタム投稿タイプだとうまくいきません。

    デフォルトの引数形式
    http://www.wordpress.dev/?p=123
    だと大丈夫ですが。

    rewriteを行うとURLが正しく表示されません。

    これはbogo_localizable_post_typesの使い方、もしくは追加のしかたが間違っているからでしょうか?

15件の返信を表示中 - 1 - 15件目 (全15件中)
  • 追記です。
    worksというカスタム投稿タイプを対応させると
    最初に作った日本語データである
    http://www.sample.com/works/コンテンツ/
    は表示されます。
    ですが切り替えで英語のデータを入力し
    http://www.sample.com/en/works/コンテンツ/
    を表示しようとしてもNot Foundになります。
    Debug Barで調べてみると日本語は
    Query Arguments:
    page=&works=life-anew&post_type=works&name=life-anew
    ときちんと渡されていますが、英語は
    Query Arguments:
    page=&name=en-life-anew&category_name=works&lang=en
    のようになってしまいます。
    Rewrite Ruleを独自で追加するべきでしょうか?

    モデレーター Takayuki Miyoshi

    (@takayukister)

    カスタム投稿タイプのパーマリンク対応が不十分でしたので次のバージョンで改善します。お急ぎの場合は下のページから Development Version をダウンロードしてお試しください。

    http://wordpress.org/plugins/bogo/developers/

    今のところDevelopment Versionをダウンロードしましたが解決されないようですので。
    次のバージョンをお待ちします。
    ご多忙のところありがとうございます。

    モデレーター Takayuki Miyoshi

    (@takayukister)

    一度パーマリンク設定をデフォルトに戻してリライトルールをフラッシュしてください。

    ありがとうございます。
    Development Versionを入れてリライトルールをフラッシュしてみたがダメでした。
    worksというpost-typeですが
    英語のqueryは
    page=&name=ページ名&category_name=works&lang=en
    となります。
    日本語のほうは
    page=&works=ページ名&post_type=works&name=ページ名
    となっています。

    モデレーター Takayuki Miyoshi

    (@takayukister)

    カスタム投稿タイプの登録はどのようにされていますか?

    Custom Post Type UIで登録していたのですが、それが原因では?と思い。
    function.phpにregister_post_type()で書いてみたのですが、結果は同じでした。
    最初に作った日本語ページはきちんとpost-typeにリライトしてるのですが
    それれから派生で作った英語はcategory_name=にポストタイプがあたっています。

    モデレーター Takayuki Miyoshi

    (@takayukister)

    register_post_type でどのようにカスタム投稿タイプを登録されましたか?

    質問の容量が悪くてすいません。
    以下のように

    function animal_custom_post_type(){
    $labels = array(
    ‘name’ => _x(‘動物’, ‘post type general name’),
    ‘singular_name’ => _x(‘動物’, ‘post type singular name’),
    ‘add_new’ => _x(‘動物記事を新規追加’, ‘animal’),
    ‘add_new_item’ => __(‘新規項目追加’),
    ‘edit_item’ => __(‘項目を編集’),
    ‘new_item’ => __(‘新規項目’),
    ‘view_item’ => __(‘項目を表示’),
    ‘search_items’ => __(‘項目検索’),
    ‘not_found’ => __(‘記事が見つかりません’),
    ‘not_found_in_trash’ => __(‘ゴミ箱に記事はありません’),
    ‘parent_item_colon’ => ”
    );
    $args = array(
    ‘labels’ => $labels,
    ‘public’ => true,
    ‘publicly_queryable’ => true,
    ‘show_ui’ => true,
    ‘query_var’ => true,
    ‘rewrite’ => true,
    ‘capability_type’ => ‘post’,
    ‘hierarchical’ => false,
    ‘menu_position’ => 5,
    ‘supports’ => array(‘title’,’editor’)
    );
    register_post_type(‘animal’,$args);
    }
    add_action(‘init’, ‘animal_custom_post_type’);

    で追加し

    function bogo_add_post_type() {
    $localizable = array( ‘post’, ‘page’,’works’,’animal’ );

    return $localizable;
    }
    add_filter( ‘bogo_localizable_post_types’, ‘bogo_add_post_type’ );

    としています。

    モデレーター Takayuki Miyoshi

    (@takayukister)

    ありがとうございます。

    こちらの環境に同様のコードを追加して、デフォルトのロケール(WPLANG)を日本語に設定して、まず日本語の状態で動物を作成(/animal/example-1)、それから英語の状態に切り替えて対応する英語版動物を作成(/en/animal/example-2)して試してみましたが、問題なく動いています。

    状況から推測するとやはりリライトルールが古いまま残っているか、Development Version の Bogo が適用されていないんじゃないかと思います。Rewrite Rules Inspector を使うとリライトルールの状態を確認するのに便利ですので試してみてください。

    なるほどそうですか...ちょっと1からローカル環境で入れ直してみます。

    うまくいきました!
    Development VersionのBogoがうまく適用されていなかったようです。
    すいません。
    wordpressを入れ直して、プラグインからセットアップすればうまくいきました。
    カスタム投稿タイプの作り方も
    ・function.phpでの記述
    ・Custom Post Type UI
    ・Magic Field 2
    と3通りやってみましたが問題なく動作しました。
    言語をフランス語と3つにしても問題なく動作しました。

    引き続き使ってみようと思います。
    ありがとうございます。

    モデレーター Takayuki Miyoshi

    (@takayukister)

    報告ありがとうございます。

    解決されましたらトピックを「解決済み」にしておいてください。

    解決しました。

    Takuma

    (@fukudatakuma)

    こんにちは。パーマリンク設定を「数字ベース」にしたところ、このトピックと全く同じ問題に行き当たったので、こちらの内容を参考にして解決しました。
    私の場合、なかなか解決に至らず1から入れなおしか? というところまで追い詰められました。最後「Custom Post Type Permalinks」というプラグインを有効化したままということに気づき、同プラグインを無効化して解決しました。こんな初歩的なつまづきでお恥ずかしいのですが、念のため情報の提供まで。

15件の返信を表示中 - 1 - 15件目 (全15件中)
  • トピック「Bogo カスタム投稿タイプのパーマリンク」には新たに返信することはできません。