CHIPS

制作チップス

WordPress の投稿をHTMLページに反映させる

2025年7月17日

カテゴリー: 制作チップス

WordPress の投稿を HTML ページに反映させたい場合、wp-load.php を読み込むことで WordPress の関数が使えるようになります。

サンプルコード

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

// 最新の投稿を5件取得
$args = array(
    'numberposts' => 5,
    'post_status' => 'publish'
);
$recent_posts = wp_get_recent_posts($args);

echo '<!DOCTYPE html>';
echo '<html lang="ja">';
echo '<head>';
echo '<meta charset="UTF-8">';
echo '<title>最新の投稿</title>';
echo '</head>';
echo '<body>';
echo '<h1>最新の投稿一覧</h1>';
echo '<ul>';

foreach ($recent_posts as $post) {
    $title = esc_html($post['post_title']);
    $link = get_permalink($post['ID']);
    echo "<li><a href=\"$link\">$title</a></li>";
}

echo '</ul>';
echo '</body>';
echo '</html>';
?>

パスの指定について

WordPress の wp-load.php を読み込むとき、require_once() に渡すのは ファイルシステム上のパス(サーバー上のパス)である必要があります。

NGの指定方法

<?php
require_once('https://example.com/wordoress/wp-load.php'); //  これはファイルとして読み込めない
?>

ファイルシステムの絶対パス指定は OK

<?php
require_once('/home/username/public_html/wordoress/wp-load.php'); // サーバー上の絶対パス
?>

相対パスでも OK(例:このPHPファイルが wardpress の外にある場合)

<?php
require_once(__DIR__ . '/blog/wp-load.php'); // より安全
?>

補足:WordPress の URL を取得したいとき

「WordPress の投稿リンク」や「メディアの絶対 URL」が必要なら、以下の関数で取得できる。

echo get_permalink($post_id);        // 投稿の絶対URL
echo wp_get_attachment_url($id);     // メディアファイルのURL
echo site_url();                     // サイトのベースURL