私は PHP が初めてで、Wordpress ベースの学習管理テーマ (ThemeForest の Academy と呼ばれる) を変更して、ユーザーが現在のコースのどのレッスンを行っているかを判断できるようにしようとしています。
つまり、ユーザーがどのレッスンを完了したかを確認するためにチェックを実行し、完了していないコース階層の最初のレッスンの ID のみを取得したいと考えています。
ここに私が知っているすべてがあります:
単一の投稿 (この場合は「コース」) のループ内で、現在のコースのレッスンの配列を取得する方法は次のとおりです。
<?php $lessons_array = ThemexCourse::sortLessons(ThemexCourse::$data['course']['lessons']); ?>
これにより、次のネストされた配列が生成されます。
Array ( [0] => WP_Post Object ([ID] => 117 [menu_order]=>1) [1] => WP_Post Object ([ID] => 124 [menu_order]=>2) [2] => WP_Post Object ([ID] => 156 [menu_order]=>3))
[ID] と [menu_order] の 2 つの値が最も重要であるため、少し省略しています。これらは、各レッスンの ID とコース内の階層を示しています。
しかし、ここで行き詰まります。すべてのレッスン ID を取得するのではなく、ユーザーがまだ完了していないレッスン ID だけを取得したいのです。
ユーザーがレッスンを完了したかどうかを確認するために、私はこれを使用しています:
<?php if(ThemexCourse::isCompletedLesson($lesson_ID)) { echo 'Completed'; } ?>
上記の情報を使用して、次の未完了のレッスンのみの 1 つの ID を返すことは可能ですか?
事前に助けてくれた人に感謝します!