[解決済み] ランクの取得

ホーム フォーラム 使い方全般 [解決済み] ランクの取得

このトピックには9件の返信が含まれ、3人の参加者がいます。5 年、 4 ヶ月前 masuda-clair さんが最後の更新を行いました。

10件の投稿を表示中 - 1 - 10件目 (全10件中)
  • 投稿者
    投稿
  • #52837

    masuda-clair
    参加者

    動作に関するご質問の場合は必ずご記入ください。


    WordPress のバージョン:3.5.1

    Welcart のバージョン:1.3.2

    ご利用のテーマ:WelCartデフォルト

    症状を確認したブラウザ:IE10

    サーバー(会社名、サービス名):ロカールWindows XAMPP

    SSLの利用: 無し

    WordPress のパーマリンク設定:


    別件で、ランクの取得を教えていただいたのですが

    受注時の、管理者へのメールの中へ、ランクを入れ込みたく

    そのまま、該当箇所へ、入れ込んだのですが表示されません。

    事前に何か作業(PHP上での作業)必要でしょうか?

    教えていただいた書き方

    global $usces;

    $member_id = $usces->current_member;

    $member_info = $usces->get_member_info($member_id);

    $rank_name = $usces->member_status[$member_info];

    設置個所

    プラグインのデレクトリの

    function/function.php

    usces_send_ordermail

    の中の

    フィルター

    usces_send_ordermail_para_to_manager

    よろしくお願いします。

    #66978

    masuda-clair
    参加者

    すみません、フィルタは使っていません

    使うつもりで書いていたのですが

    フィルタを使うと、とんでもなく大きなものになりそうなので

    直接

    function/function.php

    usces_send_ordermail

    の最後の

    . ”


    . “REMOTE_ADDR : ” . $_SERVER

    . ”


    後に

    . “menber_rank : ” . $rank_name;

    と付け加えました

    #66979

    yskysmr
    キーマスター

    function.php を直接編集されますと、今後 Welcart のアップデートで、編集箇所は上書きされますのでご注意ください。

    そのためにも、フィルターフックをご利用ください。まるごと書き換えなくても、最後に追加するだけでしたら、「usces_send_ordermail_para_to_manager」の、$order_para の $message に追加できます。

    #66980

    masuda-clair
    参加者

    重々承知しています、が、環境に書いたように

    ローカルでテストの環境になりますので

    現状は、直接書いています。

    ($messageの内容を復元するため、上の方からもってくる必要がいったので)

    最終的にはフックを使いますが、その時のことを含め

    内容が空白(null)になっているので、何か前提でいるのか教え願えないでしょうか?

    #66981

    yskysmr
    キーマスター

    function.php で取得する方法と、フックで引き渡される引数を使って取得する方法は、全く違います。function.php 内で取得できても、それをそのままフックに書き換えて取得できるとは限りません。

    #66982

    masuda-clair
    参加者

    フックと直接書くのが違うのはわかっているつもりです。

    なので、フックをやめて、直接書いたのですが、取得できなかったと・・・

    フックで書けばオーダーメールの関数をほぼすべて書き写す必要があったので

    とりあえず、ローカルだし確認ができれば、フックに書き直そうと・・・

    で、直接書いてうまくいかない、のはなぜか?

    また、これをフックに書き直す時の注意点が知りたかったのですが・・・

    すみません、わがままで

    #66983

    masuda-clair
    参加者

    その後、サイト全体を元に戻し

    本来インターネットサイトの公開していたサイトを

    ファイル、データベースをダウンロードして

    ロカールPCへ(XAMPPを使って)再構築していましたので

    改めて、ファイルとデータベーステスト開始時に戻しました

    改めて、フィルターを使って、書き直しましたが

    やはり「ランク名」が取得できません

    追加した内容その物がおかしいか確認の為

    ランク名の前に「ランク名は」とコメントを入れて

    テストしましたが、「ランク名は」の文字は表示されています

    (フィルターそのものは正しく動作している)

    最初に書いた、教えていただいた4行以外に

    何か取得しておくなり、参照しないといけないものは

    ないのでしょうか?

    #66984

    nanbu
    参加者

    こんにちは。

    ランク名の取得の前にメンバーIDが取得できているかを確認してみて下さい。

    #66985

    masuda-clair
    参加者

    投稿後、デバックとして

    「var_dump($usces);」

    を適当な個所に設置して内容を確認しましたが

    メンバーは「ゲスト」になっていました。

    もちろん、ログインしてテストしています。

    多分、メンバーを特定できていない状態で

    取得しようとしているようです。

    フィルタの

    usces_send_ordermail_para_to_manager

    で、最後の「REMOTE_ADDR」の後ろに

    ランクを出そうとしています。

    フィルタ内に必須の条件は、何になるでしょう?

    私も調べてゆこうと思いますが、定番的にこうすればいいというのが

    あれば、お教えください。

    #66986

    masuda-clair
    参加者

    何とか自己解決しました

    ランクは、お教えいただいた方法以外にも

    このサイトに出ていた関数でもできることはわかっていたのですが

    フィルタにしたとき、メールアドレスや、合計金額・支払方法が

    空白になってしまい、ちょっとパニックりましたが、

    var_dumpで変数をウォッチしながら、関数へ引き渡すパラメタを変えて

    ようやく、希望のものが出せるようになりました

    キーワードは「$entry」と「$data」です

10件の投稿を表示中 - 1 - 10件目 (全10件中)

このトピックに返信するにはログインが必要です。