速報

SageMaker SDKの既定バケットに所有者確認漏れ|成果物の改変を防ぐ更新と点検

CATEGORY

【WordPress】関数や投稿情報をディレクトリ外で使用する

※本ページのリンクにはプロモーションが含まれています。

【WordPress】関数や投稿情報をディレクトリ外で使用する

目次

本記事では、WordPressの関数や投稿情報をインストールディレクトリの外にある外部ファイルで使用する方法をご紹介しています。

WordPressの関数や投稿情報をディレクトリの外にある外部ファイルでも使用したいんだけど、良い方法ないかな?

上記の疑問にお答えします。

では、解説していきます。

スポンサーリンク

wp-load.phpを読み込むだけでOK

WordPressをインストールすると、インストールディレクトリの配下にwp-load.phpというファイルが設置されます。wp-load.phpを読み込みことで、設定ファイルや関数群のファイルが読み込まれて投稿やWordPressの関数が使用できるようになります。必要な準備はこれだけです。もっと複雑な手順を踏む必要があるのかと思ったのですが、さすがは長年多くのユーザーに愛され続けているですね。

WordPressの外部から関数を使用する

実際にWordPressのインストールディレクトリの外からwp-load.phpを読み込んで関数を使ってみます。

ディレクトリ構成は下記のようなイメージです。DocumentRoot直下のtest.phpにwp-load.phpを読み込み、WordPress関数のhome_url()をechoしてみます。

DocumentRoot/
  ├ wp/
  │  ├ wp-admin/
  │  ├ wp-content/
  │  ├ wp-includes/
  │  ├ wp-load.php
  │  └...
  └ test.php

test.php

<?php

require __DIR__.'/wp/wp-load.php';

echo home_url();

実行結果

https://into-the-program.com

実行結果を確認すると、home_url()が動作し、当サイトのURLが出力されています。これでいつでも外部ファイルからWordPressの関数を呼び出すことができます。

スポンサーリンク

WordPressの外部から投稿情報を取得する

関数の呼び出しはできたので、次は投稿情報を取得してみます。テンプレートではないのでメインループは確実に動かないため、サブループを使って投稿情報を取得してみます。パラメータには投稿タイプ(post)と取得する件数(5件)を指定しています。(ディレクトリ構造は前項と同じです。)

test.php

<?php

require __DIR__.'/cms/wp-load.php';

$args = array(
    'post_type' => 'post',
    'posts_per_page' => 5
);
$the_query = new WP_Query($args);

if($the_query->have_posts()):
    while($the_query->have_posts()):
        $the_query->the_post();
        echo get_the_title().'<br>';
    endwhile;
endif;
wp_reset_postdata();

実行結果

【WordPress】同じタクソノミー・ターム内の前へ・次へのリンクを表示する
【PHP】日付(年月日)から曜日を取得する【DateTime】
【JavaScript】textContentの文字列を数値に変換して演算に使用する
【JavaScript】img要素がalt属性を持っていない場合に自動追加する
【WordPress】公開済みの投稿の件数を取得する

実行結果を確認すると、本サイトで投稿している最新の投稿5件のタイトルが出力されました。きちんと動作しています。サブループが動作すれば好きなように投稿を表示することができるので、本記事の目標は達成できていますね。

最後に

WordPressの関数や投稿を外部から取り扱うには複雑な手順が必要に思えましたが、実際にやってみるとwp-load.phpを読み込むだけで済みました。長年運用されてきた実績のあるCMSなので、多くのエンジニアの方がユーザーが使いやすいように改良を重ねてきたんだろうな、と考えると感無量です。今後もありがたく使わせていただきます。

以上、WordPressの関数や投稿情報をディレクトリ外で使用する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

CMS

HTMLなどの専門知識がなくても、管理画面からWebサイトの内容を作成・更新できるシステム。WordPressが代表例。

詳しく見る