- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2021-02-08T13:21:11+09:00;1970-01-01T18:00:00+09:00","default:tgoto","tgoto")
#author("2021-02-08T13:35:48+09:00;2021-02-08T13:21:11+09:00","default:tgoto","tgoto")
pukiwikiでは[[descriptionプラグイン>https://pukiwiki.osdn.jp/dev/?BugTrack/721]]を使えばmetaタグに記載するdescriptionの中身をスキンに埋め込まれている$head_tagに挿入することができます。
しかし全てのページにこのプラグインを使っているわけではないので、このプラグインを使っていないページでは自動的に本文の最初の指定文字数だけをmetaタグにdescriptionとして埋め込んでくれると便利です。そこで、スキンの<head>内に下記のコードを記載しておくことにしました。これで本文のうち最初の100文字を自動的にmetaタグ内にdescriptionとして埋め込んでくれます。
<?php if( strpos($head_tag,'<meta http-equiv="description"') === false ) { ?>
<meta name="description" content="<?php echo $str = str_replace(array("\r\n", "\n"), '', mb_substr(strip_htmltag($body, $all = TRUE), 1, 100, "UTF-8")); ?>" />
<?php } ?>
まあ、なんとなくコードが冗長なのでもう少しスマートに記載する方法もありそうな気がしますが…。
*OGPも埋め込みたい場合 [#w2d0619d]
OGPにもdescriptionがあります。OGPにも同様のものを埋め込みたい場合は
<?php if( strpos($head_tag,'<meta http-equiv="description"') === false ) { ?>
<meta name="description" content="<?php echo $str = str_replace(array("\r\n", "\n"), '', mb_substr(strip_htmltag($body, $all = TRUE), 1, 100, "UTF-8")); ?>" />
<meta property="og:description" content="<?php echo $str = str_replace(array("\r\n", "\n"), '', mb_substr(strip_htmltag($body, $all = TRUE), 1, 170, "UTF-8")); ?>" />
<?php } ?>
としておきます。
としておきます。そしてdescription.inc.phpのほうも17行目あたりを
$head_tags[] = '<meta http-equiv="description" content="'.$content.'">
<meta property="og:description" content="'.$content.'">';
としておけば$head_tagのほうにもOGP用のdescriptionが挿入されますね。
#ogpi(https://oncologynote.com/?b733981a8c)