これは何百回も尋ねられていますが、どこかのステップをスキップしていて、誰かが何が間違っているのかを助けてくれますか?wpdb foreachループif/elseステートメント
私はwordpress/woocommerceを使用しています。ユーザーが製品を購入すると、user_id、email、product_id、timestampという表に次のものが挿入されます。私は、ユーザーがそれぞれのビデオを購入したかどうかを確認するために、テーブルをループいくつかのコードを記述しようとしています各商品ページで
。そうであればビデオを表示し、そうでない場合はテキストを表示します。
私のロジックは少しオフになっている、または私はあまりやっているが、私はコーデックスでthe exampleに従うことをしようとしています。今すぐ下のコードでは、私はそれを購入したので、そのページのビデオを表示しますが、私はそれが表示されませんelseテキスト;私は6-9のビデオを持っていますので、このコードをより効率的にすることができれば、どのようにして学ぶのが大好きです。ありがとう。ここに私のコードは次のとおりです。
global $wpdb;
$user_id = get_current_user_id();
$results = $wpdb->get_results("SELECT * FROM awdwp_webinar_orders WHERE user_id=" . $user_id . "");
if ($results) {
foreach($results as $result) {
$loop_uid = $result->user_id;
$loop_pid = $result->product_id;?>
if (is_product(991) && $loop_uid == $user_id && $loop_pid == 991) {
echo '<h2>' . get_the_title($id) . '<h2>';
$the_video = get_field('video_file');
//display video code
} //end if
} //end foreach
} else {
echo "please purchase";
}
これは、if文と一致していないテーブルの各エントリのための*購入*が表示されます。今は2つの購入(商品ID = 1017,991)があり、購入*と動画ファイルが表示されます。 – VCP