ワードプレスのサイトを作成していて、まったく独自のPHPファイルを追加して、WP_Queryやhave_posts、the_post()、get_the_title()、get_permalink()などのワードプレス独自の関数を利用する方法を、ワードプレスの投稿一覧を取得するプログラムから解説いたします。

ワードプレスの固有の関数をPHPファイルから利用する

これは意外にも非常に簡単です、独自のPHPファイルがワードプレスのトップディレクトリにある場合は、下記のように<?phpのすぐ下に記載します。

require_once("./wp-load.php");

これだけでこのPHPファイルから、get_the_title()、get_permalink()等のすべてのワードプレスの独自関数が利用できるようになります。

独自の追加した素のPHPファイルでワープレスの最新の投稿一覧を表示してみる

それでは上記のコードを用いて、独自の単一PHPファイルからワードプレスの最新の投稿を20件表示するプログラムを作ってみましょう。
下記のコードをnewsposts.phpなどの名前でワードプレスのトップディレクトリにおいてブラウザでアクセスすると最新の記事が20件リストで表示されます。

<?php
require_once("./wp-load.php");

$args=array('posts_per_page'=>20);
$wp_query = new WP_Query( $args );

if ( have_posts() ) {
   echo '<ul>';
   while (have_posts()) : the_post();

      echo '<li>';
      $title = get_the_title();
      echo "<a href='". get_permalink() ."'>".$title."</a>";
      echo '</li>';

   endwhile;
   echo '</ul>';
}

?>

特定のカテゴリーの最新記事を20件表示するには4行目を下記のように書き換えます

$args=array('posts_per_page'=>20, 'category_name' => "カテゴリーのスラッグ名");

特定のタグの最新記事を20件表示するには4行目を下記のように書き換えます

$args=array('posts_per_page'=>20, 'tag' => "タグ名");

※’posts_per_page’=>20 のところを変更すると表示記事数を変更できます

全く別のワードプレスサイトからこのPHPを呼び出す

また、上記ファイルを全く別のワードプレスサイトから呼び出して、利用することができます。このことにより他のワードプレスサイトの情報を自由にカスタマイズして別のサイトに埋め込むことができるようになります。

echo file_get_contents ( http://example.com/newsposts.php );

example.comは呼び出し元サイトのドメイン名です。file_get_contents関数でファイルの内容を呼び出して出力しています。
こちらは、PHPコードですので、PHPコードをワードプレス内で利用できるようにするInsert PHPプラグインなどを利用されると簡単に実装できるかと思います。

ワードプレスのカスタマイズ、移行、ウィルス駆除、セキュリティー対策、SEO等どんなご依頼も可能です。WPドクターにご相談ください