2020年1月11日WordPressで記事一覧を表示する(WP_Query編)よくあるネタで申し訳ないですが、WordPressで記事一覧を表示する方法です。月別やカテゴリー別など、何かの分類で表示したい場合は、アーカイブを使いましょう。今回は、記事一覧の中でも投稿の一覧を表示する為のコードに成ります。投稿の一覧を表示する為には、WP_Query()という関数か、get_posts()というテンプレートタグを使います。乱暴な言い方をすると、ページネーションが必要な場合は、WP_Query()を使います。トップページに最新の5件を表示するなどであれば、get_posts()でも良いですし、今回、ご紹介するWP_Query()でも良いですね。固定ページで使用しても良いですし、トップページでも使用しても大丈夫です。どのPHPファイルに書くかは、テンプレート階層に準じてください。WP_Queryをリセットするwp_reset_postdata();?>それぞれの説明です。3);3行目から7行目は、どんな条件の記事一覧が必要か指定しています。ここで指定できる条件(パラメータ)についても公式ドキュメントのWP_Query()の説明を参照すると良いと思います。);10行目で記事の一覧を取得します。:15行目は記事の一覧が取得できているか確認し、取得出来ている場合はこのまま下の処理を進めます。取得出来ていない場合は、37行目までスキップします。$query->the_post();23行目で取得した記事一覧を1件づつ表示する為のループを開始します。25行目付近に記事をどう表示したいかを書きます。ここは、それぞれで色々な表示があると思いますので、今回の説明からは省きますが、タイトルを表示したければ、the_title();などに成りますね。記事を1件ずつ表示する為のループの終了endwhile;29行目は23行目で始まる記事一覧のループの範囲を示す為のループの最後です。記事が取得できている場合の条件最後endif;37行目は、15行目で確認した記事の一覧が取得できているか確認している条件式の終わりを明示しています。WP_Queryをリセットするwp_reset_postdata();最後に40行目で、WP_Query()という関数を使ったので、リセットしておきます。以上で、投稿の一覧を表示できるように成ります。固定ページに設定したslugを元に以下のようなコードでリンクを設定します。2020年1月4日WordPressでログインユーザにだけ固定ページを見せるWordPressでユーザの名前やメールアドレスなどを画面表示などに使用したい場合、そのページをログインユーザだけに見せる。いう方法をとりたくなりまよね。以下は、固定ページでの実装方法になります。最初に全てのコードを掲載します。loop.まずは、以下で、専用の固定ページ用のテンプレートとして宣言します。部分は、任意ですが、テンプレートのファイル名はpage-xxxx.phpとしましょう。ログインしたら、今いるページに戻って来る為に、今いるページのパーマリンクを取得します。);}ログインしていなかったら、ログインフォームではなく、トップページにリダイレクトなどしたい場合は、wp-redirect()を使用すると良いかと。2017の8日目の記事です。7日目はpictron2009さんの記事”プライマリで仕事を受注した案件でconcrete5が採用に至ったポイント“でした。アドレスが変わるとログアウトするように設計されているんだとか・・・と、いう事で、AWSのALBやELB越しにアクセスした場合、何の対処もしないとnginxに到達するアクセス元IPはALBやELBのIPアドレスになってしまうのは、LB経由の場合は普通の事。現時点(2017年12月10日)では、KUSANAGIでインストールされるconcrete5は5.7という事で、ドキュメントルートに展開されたconcrete5のファイルをごっそり削除して、8.2の各ファイルを展開します。テーブル名として、テーブルも削除し、8.2をインストールしましょう。8.2のインストールができたら、concrete5のダッシュボードにアクセスして、nginx上のログを確認してみましょう。KUSANAGIでnginxのログファイルは/home/kusanagi/プロファイル名/log/nginx/access.logに出力されます。"$http_x_forwarded_for"';として記録されます。この”$remote_addr”が、LBのIPアドレスに成ってしまうのが問題ですよね。#LBのIPを信頼済みIPアドレスとして認識させる方法もあるようですが...そこで、/etc/nginx/nginx.confに以下の行を追記します。on;これで、”$remote_addr”は、アクセス元クライアントのIPが正しく記録され、concrete5にログイン後もログアウトされる事なく利用できるようになります。