ワードプレスの投稿を静的サイトに組み込む方法
静的サイトにwpの記事を入れた時の方法。
①ワードプレスをダウンロードする。
②wp設定が終わったら、phpのファイルを2つ用意する。
自分の場合はindex.phpとsingle.phpとして用意した。
③index.phpの
ファイルの一番上に記載する。
パスでwp-load.phpとリンクさせる。
<?php include ( dirname(__FILE__) . '../../wp/wp-load.php'); ?>
mainタグに下記のように記載する。
<article>
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'paged' => $paged,
'posts_per_page' => 99, //表示数を指定できるよ。
);
$wp_query_post = new WP_Query($args);
?>
<?php if ($wp_query_post->have_posts()): ?>
<?php while($wp_query_post->have_posts()): $wp_query_post->the_post(); ?>
<div class="recent-list">
<a href="<?php $pno=get_the_ID(); echo 'single.php?p='.$pno; ?>"><h3><span><?php echo date("Y/m/d", strtotime($post->post_date)); ?></span><br class="sp">
<?php if(mb_strlen($post->post_title)>25) { $title= mb_substr($post->post_title,0,25) ; echo esc_html($title). … ;} else {echo esc_html($post->post_title);}?></h3></a>
</div>
<?php endwhile; ?>
<?php else: ?>
<div class="recent-list">
<p>記事がありません</p>
</div>
<?php
endif;
wp_reset_postdata();
?>
</div>
</article>
④single.phpファイルのmainタグには下記を記載する。
「⑤wp_connect.inc」で作るこちらとパスでリンクさせる。
<?php include('wp_connect.inc'); ?>
⑤wp_connect.incファイルを作成して下記を記載する。
パスでwp-blog-header.phpとリンクさせてる。
<?php
require('../wp/wp-blog-header.php');
//オブジェクト独立作業
function object_to_array($obj) {
$_arr = is_object($obj) ? get_object_vars($obj) : $obj;
foreach ($_arr as $key => $val) {
$val = (is_array($val) || is_object($val)) ? object_to_array($val) : $val;
$arr[$key] = $val;
}
return $arr;
}
//記事取得
$p = $_GET['p']; //記事ID
if ($p) {
$args['post__in'] = array($p);
}
$posts = get_posts($args);
foreach ($posts as $post) : start_wp();
$date = get_the_date();
$title = get_the_title();
echo '<h2>';
echo $title;
echo '</h2>';
echo '<div class="thumbimg">';
the_post_thumbnail('thumbnail');
echo '</div>';
echo '<div class="post-content">';
echo the_content();
echo '</div>';
endforeach;
⑥wpからいつも通り投稿すれば静的ページに反映される。
以上。