フックについてのお訊ね
-
投稿者投稿
-
2012年9月18日 6:32 AM #51849uishi参加者
動作に関するご質問の場合は必ずご記入ください。
WordPress のバージョン:3.4.2
Welcart のバージョン:1.2
ご利用のテーマ:デフォルト
症状を確認したブラウザ:
サーバー(会社名、サービス名):webmatrix2
SSLの利用: 無し | 専用SSL | 共用SSL
WordPress のパーマリンク設定:なし
—-
ウィジットのcategoriesの
apply_filters('usces_filter_welcart_category', $cquery, $cats->term_id
フックの使い方がわかりません。
$cats->term_idを
function abcd_category($cats->term_id)
のようにしてもエラーがでて表示されません。
こちらのフックを使って、アイコンをつけようと思うのですが、
上記エラーのため表示されません。
直接IDを記入すると動きます。どうしたらいいのでしょうか。
何かヒントをいただけるとありがたいです。
以下とりあえず書いてみたコード
class MyWalker extends Walker_Category {
function start_lvl( &$output, $depth = 0, $args = array() ) {
if ( 'list' != $args['style'] )
return;
$indent = str_repeat("t", $depth);
$output .= '<a class="openchild" href="#"><img src="'.bloginfo('url').'wp-content/themes/welcart_1010/images/openbtn.png" alt="open" title="open" /></a>'.$indent.'<ul class="children">';
}
}
function abcd_category($cats){
$MyWalker = new MyWalker();
$args=array(
'use_desc_for_title'=>0,
'child_of'=>6,//ここでidを取得したい。
'title_li'=>'',
'walker'=>$MyWalker
);
return $args;
}
add_filter('usces_filter_welcart_category','abcd_category');2012年9月18日 9:30 AM #65516nanbuキーマスターこんにちは。
フックの使い方に関しましては、まずはこちらをご参照いただけますでしょうか。
https://www.welcart.com/community/archives/1697
よろしくお願いします。
2012年9月19日 12:34 AM #65517uishi参加者nanbu様
読んだ上での質問だったんですが、第3引数以降は、ユーザー関数で引数の値を参照できるというに理解したんですが、正しくないでしょか。
ユーザー関数で利用する場合、$cats->term_idという書き方でいいのでしょうか。webmatrix2ではエラーとなりますが。
2012年9月19日 7:42 AM #65519uishi参加者結局、$cats->term_idは取得できませんでした。
あと$cqueryがクエリ文字型だったので、連想配列を用いたかったんで、
welcart_categoryを継承して独自のウィジットを作って対応しました。
お騒がせして申し訳ありませんでした。
2012年9月19日 5:37 PM #65520nanbuキーマスター$cats->term_id では取得できません。単なる引数ですので$term_id などのスカラーで指定することになります。
2012年9月20日 1:40 AM #65521uishi参加者馬鹿な質問でご迷惑をおかけするかもしれませんが、
フックの指定の変数には、何か値が入ってる類のものではないのでしょうか。
$cats->term_idはウィジットで指定したカテゴリーのIDが入っていて、
ユーザー関数側でその値(この場合カテゴリーのID、6とか7とか)が利用できるとってことなんでしょか
2012年9月20日 6:55 PM #65522nanbuキーマスターadd_filterをどのように記述されていますか?
コードを示していただければ何かアドバイスできるかもしれません。
2012年9月21日 5:31 AM #65523uishi参加者最初の投稿の//ここでidを取得したい。のところで
'child_of'=>$cats->term_id
とできて、カテゴリーのIDが取得できるといいんですが。
急ぎではないのでお時間ありましたらお願いいたします。
2012年9月21日 11:07 PM #65524nanbuキーマスターあ、一番下にあったんですね。僕はadd_filterを最初に書くもので気が付きませんでした。すみません。
add_filterの引数はこのようにしてください。
add_filter('usces_filter_welcart_category','abcd_category', 10, 2);
するとabcd_categoryの引数はこのようになります。
abcd_category($cquery, $term_id){
‘child_of’=>$term_id となります。
2012年9月24日 12:53 AM #65525uishi参加者nanbu様
ありがとうございます。ご指導どおり書いたらできました。
今回は大変勉強になりました。改めて御礼申し上げます。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。