wordpress hタグを全記事から抜き出す方法を
のせておきます。
多少カスタマイズなどの方法も簡単に説明しておきます。
プログラミングができなくても特に大丈夫です。
まずはカテゴリをすべて取得してそこから時期を取得していきます。
query_postsは非推奨らしいですが今回はタグ取得だけなので。
$h_tag_items=[];
$categories = get_categories();
foreach($categories as $category){
$category_id = get_cat_ID($category->cat_name);
$cat_name = get_cat_name($category_id);
query_posts('cat='.$category_id);
必要のないカテゴリや以下のコードを入れます。
if($cat_name === 'ここに必要のないカテゴリの名前')continue;
カテゴリの名前を表示したいときは
$h_tag[] = $cat_name;
get_the_contentで記事内の文字を抜き出して
preg_match_allの正規表現でhタグを抜き出します。
タイトルが必要でない場合や、タイトル前に空行が必要ない場合は
それらの行を削除します。
if (have_posts()){
while (have_posts()){
the_post();
$post_text = get_the_content();
$h_tag = []; //タイトルの前に空行をいれる場合
$charset = mb_detect_encoding($post_text,'ASCII,JIS,UTF-8,EUC-JP,SJIS'); //charsetの取得
$post_text = mb_convert_encoding($post_text,"utf-8", $charset);
$pattern = '/<h[1-6]>.+<\/h[1-6]>/u';
preg_match_all( $pattern, $post_text, $h_tag);
$h_tag_items[] = get_the_title(); //タイトルを入れる場合
if(count($h_tag) != 0)
foreach($h_tag as $t){
foreach($t as $in_t){
$h_tag_items[] = $in_t;
}
}
}
}
あとはタグを取り去ってすべて表示しているだけです。
foreach($h_tag_items as $t){
echo '<br>';
echo htmlspecialchars(strip_tags($t));
}
これらのコードをテーマ内にあるhome.phpかpege.phpなどに張り付けて
確認するだけです。ログインの時しか表示しないようにしています。
if(is_user_logged_in()){
$h_tag_items=[];
$categories = get_categories();
foreach($categories as $category){
$category_id = get_cat_ID($category->cat_name);
$cat_name = get_cat_name($category_id);
query_posts('cat='.$category_id);
//if($cat_name === 'ここに必要のないカテゴリの名前')continue;
//$h_tag[] = $cat_name;
if (have_posts()){
while (have_posts()){
the_post();
$post_text = get_the_content();
$h_tag = []; //タイトルの前に空行をいれたい場合は
$charset = mb_detect_encoding($post_text,'ASCII,JIS,UTF-8,EUC-JP,SJIS'); //charsetの取得
$post_text = mb_convert_encoding($post_text,"utf-8", $charset);
$pattern = '/<h[1-6]>.+<\/h[1-6]>/u';
preg_match_all( $pattern, $post_text, $h_tag);
$h_tag_items[] = get_the_title(); //タイトルを入れる場合
if(count($h_tag) != 0)
foreach($h_tag as $t){
foreach($t as $in_t){
$h_tag_items[] = $in_t;
}
}
}
}
}
foreach($h_tag_items as $t){
echo '<br>';
echo htmlspecialchars(strip_tags($t));
}
}
ブログ初心者の方はこれをした後
一体何に使うかわからないかもしれません。
hタグ 全記事抜き出した後はキーワードを検索用に調整して
順位チェッカーにかけ1位になっていない記事を
リライトして上位表示を狙います。