特にマルチサイトとか立てたちゃっているサイトだと本当、面倒です。
引っ越し自体はたくさん参考になるサイトが見つかるので、ぜひググってください。
ワードプレス自体の引っ越しに関してはいろいろ情報はあります。
でも、
しっかり移行できたのか、
ちゃんとアクセスできるのか、
本当に正しく引っ越しできたのか?
といった移行の正しさを確認する方法が少なかったです。
ワードプレス => 別サーバーのワードプレスだから問題ないでしょ?
って思っていいんですかね・・・
石橋を叩いて渡る性格だと、なんか不安です・・・
がっちりテストケースを組んでやるほど余力もないので、チョー簡単に確認する手段を検討しました。
その方法とは、URLが移行前と、移行後が一致するかです。
同じワードプレス、MySQLを使って、引っ越ししているわけなので、基本記事が表示されるはずです。
データベースごとごっそり移行した場合、あまり神経質になる必要はないかと思います。
ワードプレスの基本機能にある、エクスポート、インポートを使う場合には、ワードプレス自体の設定も絡んでくるので確認したい項目ですね!
ワードプレスのプラグインでいいのがあったらと探したんですが、網羅されているURL一覧プラグインは見つかりませんでした。
もし、知っている方いたら、こっそりコメントいただけると嬉しかったりします^^
(コメントは承認制にしているので、すぐには反映されませんm(_ _)m )
プラグインを探して確認してみて、希望に合うものが見つからなかったので疲れたました。
そこで、探す時間がもったいなかったので、サクッと手抜きphpを作ることにしました。
Wordpress Post/Page/Category/TagのURL一覧のソースを公開
以下に示すソースは、phpのソースになります。
Wordpress Post/Page/Category/TagのURL一覧の適用手順
使いたい方は、以下手順でお願いします。
- 1) sshでログインして、対象ワードプレスのトップディレクトリ(wp-config.phpがあるところ)でvi checkurl.php(このファイル名は適当に変更してくださいね)、そのあとiキーを押下しておく
- 2) phpのソースをコピーして、checkurl.phpにペーストする、その後 :wqとキー入力する
- 3) 対象サイトのURL/checkurl.phpへchromeでアクセスする
これで固定ページの一覧、ポストしたページの一覧、カテゴリの一覧、タグの一覧、固定ページ中に含まれるURLの一覧、ポスト中に含まれるURLの一覧が列挙されます。
sshできない環境の人は、textファイルにコピペしてから、ftpでアップロードしてみてくださいね。
Wordpress Post/Page/Category/TagのURL一覧のソースコード
「===ここから===」から「===ここまで===」をコピーしてください。
===ここから===
<?php
require_once( dirname(__FILE__) . '/wp-load.php');
?>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<ul id="result">
</ul>
<div style="visibility:hidden" class="page">
<?php
$pages = get_pages();
foreach($pages as $page){
echo '<a href="' . get_page_link($page->ID) . '">' . $page->post_title . "</a>";
}
?>
</div>
<div style="visibility:hidden" class="page_inner">
<?php
foreach($pages as $page){
$content = $page->post_content;
if(!$content) continue;
echo apply_filters('the_content', $content);
}
?>
</div>
<div style="visibility:hidden" class="post">
<?php
$postslist = get_posts( );
foreach($postslist as $post ) {
setup_postdata($post);
?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?
}
wp_reset_postdata();
?>
</div>
<div style="visibility:hidden" class="post_inner">
<?php
setup_postdata($post);
var_dump($postslist);
?>
</div>
<div style="visibility:hidden" class="category">
<?php wp_list_categories(); ?>
</div>
<div style="visibility:hidden" class="tag">
<?php $tag = wp_tag_cloud( 'format=array' );
var_dump($tag);
?>
</div>
<script style="javascript">
function addURL( title, alist ){
var result = document.getElementById('result');
var li_t = document.createElement('li');
li_t.appendChild( document.createTextNode(title) );
result.appendChild(li_t);
var ul = document.createElement('ul');
alist.forEach( function(val, index, ar ){
var li = document.createElement('li');
li.appendChild(document.createTextNode(val.text + " " + val.href ));
ul.appendChild(li);
console.log(val);
} );
if( ul.childNodes.length != 0 ){
result.appendChild(ul);
}
}
var lst = document.querySelectorAll('.page a'); addURL('page', lst);
var lst = document.querySelectorAll('.post a'); addURL('post', lst);
var lst = document.querySelectorAll('.category a'); addURL('category', lst );
var lst = document.querySelectorAll('.tag a');addURL('tag', lst );
var lst = document.querySelectorAll('.page_inner a'); addURL('page inner', lst);
var lst = document.querySelectorAll('.post_inner a'); addURL('post inner', lst);
</script>
</body>
</html>
===ここまで===
ソースコードは以上です。解説が欲しい方は下記を参照してくださいね。
Wordpress Post/Page/Category/TagのURL一覧のソースコード解説
軽めに解説します。
ワードプレスの関数は、標準出力にそのまま出力してしまうものと、配列とかで操作できるものの2種類あります。
このうち、必要な情報を返してくれる関数は、上記2つのパターンでバラバラでした。
なので、PHPでごりごりやるのではなく、出力した結果をjavascriptでまとめる、という方式にしてあります。
ポイントの解説
- ポイント1)ワードプレスの関数をロードします=>require_once( dirname(__FILE__) . '/wp-load.php');
- ポイント2)ページURLの取得 => get_pages();
get_page_link($page->ID)でページのURLを取得しているので安心です。 - ポイント3)ページの本文に含まれるURLの取得 =>$content = $page->post_content;
そのままボディを出力しています。hiddenで非表示にしています、そのため表示されません。
出力された本文からアンカーリンクをdocument.querySelectorAllでごっそり抜き出して一覧表示しています
ポスト、タグ、カテゴリーもほぼ同じような考えで作っています。
全部出力して、残しているので、トータルのページ数が多いとちょっと重いかもしれません。
適当に改善して使ってみてくださいね!
- 初期費用0円(2022年8月4日に撤廃)
- 安定したサイト運営が可能(CPU/メモリ リソース保証 6コア/8GB〜)
- 契約中は独自ドメインつき 独自ドメイン永久無料特典があります
- 最大10日間無料で、サーバーのお試し利用ができます
- ディスクキャッシュも高速 NVMe SSDを採用(300GB〜)
- 大量アクセスでも安心 転送量は無制限
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image