現在、ワードプレスで条件付きメタ タグ コードを使用しています。特定のページを除いて、すべてが正常に機能しています。
header.php のコード:
<meta name="description" content="<?php echo metadesc($post->ID); ?>" />
<?php }else{ ?>
<meta name="description" content="<?php bloginfo('description'); ?>" />
<?php } ?>
functions.php のコード:
function metadesc($pid) {
$p = get_post($pid);
$description = strip_tags($p->post_content);
$description = str_replace ("\n","",$description);
$description = str_replace ("\r","",$description);
if (strlen($description) > 135) {
return htmlspecialchars(substr($description,0,135) . "...");
}else{
return htmlspecialchars($description);
}
}
ソースに移動して、次のページのメタ タグの説明を見ると、次のように表示されます。
home: (Wordpress の一般設定で定義されているホームページの説明 (チェック)
略歴: ページの最初の 135 文字 (チェック)
コンタクト:
<meta name="description" content="[contact-form-7 id="25" title="Contact"]" />
ご覧のとおり、連絡先ページには連絡先フォームしかありません。スクリプトにフィルターを追加して、スクリプト タグとショート コードを無視し、代わりにホームページの説明を配置する必要があるようです。
この問題を解決するにはどうすればよいですか?