タクソノミーの使い勝手を劇的に向上させるWordPressプラグイン PS Taxonomy Expander への68件のコメント

  1. jim912 より:

    朱桜花鈴さん

    本日、1.1.6へのアップデートを行いました。これで解消されるか、お時間あるときに確認してみてください。

  2. 朱桜花鈴 より:

    1.1.6にバージョンアップしたら、Noticeが消えたのを確認致しました。

    お忙しい中、対応頂き本当にありがとうございました!

  3. kan より:

    はじめまして。
    投稿一覧などにカスタムタクソノミーが表示できたりソートできたりするのが、便利そうで導入しようかと思ったのですが、デバッグモードにしていると管理画面に下記の警告が表示されます。
    プログラムのことがよくわからないのですが、この警告は無視できるレベルのものでしょうか。WPのバージョンは3.1.4です。
    よろしくお願いします。

    Warning: Call-time pass-by-reference has been deprecated – argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in ………/wp-content/plugins/ps-taxonomy-expander/ps-taxonomy-expander.php on line 414

  4. kan より:

    度々失礼致します。
    現在構築中のサイトで使わせていただいているのですが、とても使い勝手が良いのでなんとかこのまま行きたいと思っています。
    ただ、一覧画面でフィルタリングをかけた際に、左のサイドメニューが消えてしまいます。
    主要ブラウザで全部だめだったのですが、WPのバージョンによるものでしょうか?
    WPのバージョンを上げたいところですが、クライアントのサーバーの制約で3.1.4以上に上げることができないので、もし単純なバグであれば治らないかなと思いご連絡させていただきました。
    よろしくお願いします。

  5. Hitoshi Omagari より:

    kanさん、ありがとうございます。

    本件ですが、当方環境にては再現せず原因もわかりかねるため対応ができません。
    お手数ですが、プラグインとの組み合わせなど、ご確認いただき原因の切り分けをおこなってみてください。

  6. kan より:

    お返事ありがとうございます。
    そうなんですね。警告文の中にこちらのプラグインのファイルだけでていたので、他のプラグインとの組合せなど考えもしてなかったです。
    あとで確認して原因が分かりましたらご報告させていただきます。
    お忙しい中ありがとうございました。

  7. kan より:

    プラグインの組合せで一番怪しいのはCustom Post Type UIなのですが、これを停止すると肝心の投稿一覧画面が表示できず、分かりませんでした。
    警告文はCustom Post Type UIを含め、他のすべてのプラグインを停止しても出たままでした。

    警告文は、「あまりお勧めではないけれどもphp.iniの設定をいじればいいよ」みたいな文章だと思ったのですが、クライアントのサーバーがphp.iniを編集できなかったので、.htaccessに
    php_flag allow_call_time_pass_reference On
    を追記したら、とりあえず警告表示は消えました。

    すると、今度は投稿一覧でフィルタリングをした際に、サイドメニューの位置に
    Warning: Invalid argument supplied for foreach() in /var/www/……../httpdocs/wp/wp-admin/menu-header.php on line 41
    という別の警告文が表示されるようになりました。

    ここまでくるとちょっと私には手が付けられないので、もうクライアントにフィルタリングは使わない方向で話をするしかないかな、と思っています。
    一覧にタクソノミーが表示されていたり、デフォルト値が設定できるだけでも価値ありますので。

    ありがとうございました。

  8. kan より:

    度々すみません。
    解決しました。。

    原因はカスタムタクソノミーにmenuという単語を使っていたことでした。

    下記ページに答えがありました。
    http://wordpress.org/support/topic/plugin-custom-post-type-ui-was-working-great-now-it-breaks-built-in-post-types

    TAKE NOTE — you can’t have a custom taxonomy named “menu”.

    カスタムタクソノミーに”menu”は使うな、と。
    ちなみに予約語には入ってなさそうでした。
    http://codex.wordpress.org/Function_Reference/register_taxonomy

    お騒がせしましたが、これでこのプラグインの機能を全部使わせていただけそうです。
    ありがとうございました。

  9. ME より:

    Hitoshi Omagari様

    はじめまして。
    視覚的にも機能的にも使いやすく大変便利に使わせていただいております。
    1点教えていただきたい事あるのですが、

    (single.phpにて)
    Term orderメニューで順序を指定した場合、
    get_termsで取得した情報は並び順が反映されるのですが、
    wp_get_object_termsもしくはwp_get_post_termsで情報を取得すると並び順が反映されません。
    パラメーターは array( ‘orderby’=>’order’ )で指定しております。
    仕様としてwp_get_object_termsもしくはwp_get_post_termsでは効かないのでしょうか?

    ※WordPress バージョン 3.03
    ※PS Taxonomy Expander バージョン 1.1.4

    記事に紐付くターム情報取得のため、一覧がでてしまうget_terms以外の方法を探しおります。

    お忙しい中恐縮ですが何卒よろしくお願いいたします。

  10. jim912 より:

    MEさん、ありがとうございます。

    WordPressの関数の仕様で、wp_get_object_termsおよびwp_get_post_termsでは、orderbyパラメーターでorderを指定しても無視されてしまいます。また、両関数はキャッシュ機能を使わずデータベースへのクエリーが必須になるため、あまり効率的とは言えません。

    get_the_categoryをカテゴリーid順に取得するようにするをちょっくら応用して

    function _usort_terms_by_term_order( $a, $b ) {
    	if ( $a->term_order > $b->term_order )
    		return 1;
    	elseif ( $a->term_order < $b->term_order )
    		return -1;
    	else
    		return 0;
    }
    
    function get_the_terms_orderby_term_order( $terms ) {
    	usort( $terms, '_usort_terms_by_term_order');
    	return $terms;
    }
    add_filter( 'get_the_terms', 'get_the_terms_orderby_term_order' );
    

    で試してみて下さい。

  11. ME より:

    jim912様

    ご返信いただきありがとうございます。

    ご教授いただいた内容をfuntion.phpに記載し、get_the_termsで試してみたのですが、上手くいきません。。
    タクソノミー名:serviceで下記のようなソースなのですが、
    ‘orderby’=>’order’の指定方法が間違っているのでしょうか。。?

    get_the_termsでorderbyパラメーターがないようなので
    そもそもTerm orderメニューによる並べ替えではなく、
    TermIDで並べ替え管理という事になりますでしょうか。。

    見当違いでしたらすいません。
    何卒よろしくお願いいたします。

    —–
    <code>
    <?php
    if ( $terms = get_the_terms($post->ID, ‘service’, array( ‘orderby’=>’order’ ) ) ) {
    echo ‘<ul>’;
    foreach ( $terms as $term ) {
    echo ‘<li class=”‘. esc_html($term->slug) .’”>’ . $term->description . ‘</li>’. PHP_EOL;
    }
    echo ‘</ul>’;
    }
    ?>
    </code>
    ——

  12. ME より:

    先程記載したコメントで、タグは本コメント用に記載したものです。(念のため)

  13. jim912 より:

    MEさん

    本ブログに適用してみましたが、問題なく動作しています。
    http://www.warna.info/archives/2158/
    でのカテゴリー表示は、通常名前順となるため、「WordPressの小技」が先に表示されますが、先のコードによって、表示順が変わっています。(get_the_categoryは内部的にget_the_termsが呼ばれるためカテゴリーの表示でも適用されます。)

    記述ファイル、記述内容、他のプラグインやカスタマイズとの競合など確認してみてください。

  14. ME より:

    jim912様

    ご返信いただきありがとうございました。

    jim912様の環境で正常に動作するとの事で、
    かなりいろいろ試してみたのですが、やはり上手くいきませんでした。。

    他プラグイン、カスタマイズなど排除する為に、
    全てのプラグインを停止し、テーマもデフォルトの「twentyten」の最上部付近に埋め込むようにしました。
    function.phpに関しても最上部に記述しております。

    あとは記述方法かと思うですが、シンプルに以下で試しているのですが


    cat_name . ' ';
    }
    ?>

    この記述方法ですと、どのように「orderby=order」を指定すれば良いでしょうか。。?

    あまりご迷惑をおかけしても申し訳ないので、
    このあたりで最後にしたいと思います。
    何卒宜しくお願いいたします。

  15. ME より:

    度々失礼いたしました。コードをそのまま入れてしまいました。
    正しくは以下になります。

    <?php
    foreach((get_the_category()) as $category) {
    echo $category->cat_name . ' ';
    }
    ?>

  16. ME より:

    jim912様

    解決いたしましたお知らせさせていただきます。

    教えていただいたコードではないのですが、
    以前jim912様が書かれたWordPressのget_the_categoryの取得順をカスタマイズするを参考に、
    get_ordered_termsに各種パラメーターを入れて希望通りの動作ができるようになりました。

    教えていただいたコードで動かなかった原因は不明のままですが、
    こちらで実現できましたので解決とさせていただきます。

    突然の質問にもお応えいただき本当にありがとうございました。
    いろいろ勉強にもなりました。。

    今後ともプラグインの方愛用させていただきます。
    ありがとうございました。

  17. wa3 より:

    プラグイン製作者様

    お世話になっております。
    このプラグインに関してなんですが、PHP5.4環境で有効化できません。

    以下のエラーが表示されます。

    Fatal error: Call-time pass-by-reference has been removed in /home/webmaster/public_html/wp-content/plugins/ps-taxonomy-expander/ps-taxonomy-expander.php on line 414

    PHP5.4環境で使用する事はできないのでしょうか。

    お忙しいところ申し訳ありませんが、ご確認よろしくおねがいいたします。

  18. grandpawhiteosa より:

    これを使いこなせばWordpressスキルが一気に向上するね!→カテゴリーや投稿タグ、カスタムタクソノミーの使い勝手を向上させてしまうプラグインPS Taxonomy Expander http://t.co/7ywrjPvT

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>