バージョンエラー「Warning: Use of undefined constant description」を解決する[WordPress]

error

WordPress前バージョンの時には正常にアップロードされていたものが、バージョンアップしたらエラーが出てしまった……という事はよくある話で。

「Warning: Use of undefined constant description」を悩んだ末、放置しておいた(駄目すぎる)のが、非常に簡単に解決したので覚書き(と言うか、戒め)。

目次

「Use of undefined constant description」は大抵簡単に解決するという話

えっ、エラーが出ていたのに何ヶ月も放置ってあり得なくないですか…という話ですが、件のエラーは、たぶん「ほぼアクセスのない特定のページ」以外に全く影響のない部分だったので、「いずれまた……」のまま忘れていたのですね(笑)

しかし、ちょっと直す必要性が出て来たので見直してみたら3分で解決しました。ほら、放置していたおかげで頭が冷えてね……(という言い訳)

経緯

バージョンアップでエラーが出たのはこの案件ページで。

あわせて読みたい
【WordPress】「author.php」を編集して会員(ユーザー)プロフィールページを作る 記事の順番が前後しますが、思い立ったところからUP.   現在、会員制サイトよりは気軽に誰でも書きこめるドラマの短レビューサイトをWordpressで作成中です。 で、...

前バージョンWordpress4.9の時には正常に表示されていたものが、5.0にバージョンアップしたらエラーが出てしまった……という話です。

 

エラー「Use of undefined」を解決

 

エラーの内容は、

Warning: Use of undefined constant description – assumed ‘description’ (this will throw an Error in a future version of PHP) in /home/……/wp-content/themes/… on line 73

73行目が「Use of undefined constant description」=「未定義の記述を使用してるよ、あんた」という事でした。

 

と、言われても旧バージョンの時にはきちんと表示されていたしね(困惑)

 

このページは登録した会員のプロフィールをダッシュボードのユーザープロフィールから「get the author meta」で引っ張ってきて表示させているものです。
しばらく悩んだり検索したりしたのですが、もしかしたら「get the author meta」が使用できなくなったのだろうか……などと考えた末、会員登録するユーザーがほとんどいなかったので「また後で……」と放置していたのです(駄目すぎる)

些細なこと

登録して下さる方がポチポチ増えて来たので、そういえば放置してたんだったと思い出し、久しぶりにコードを眺めてみたら3分で解決……。
よく見ると、エラーは「Twitter URL」や「サイトURL」の項目には出ておらず、アンケートの項目に主にツラツラと出ていました。以下がコードです。(勘の良い方はもうこの時点で分るはず……(泣))

<?php echo get_avatar(get_the_author_meta( 'user_email', $author ), 80); ?><?php the_author_meta( display_name, $author ); //ここから本文?><br />
<p>サイト: <a href=”<?php echo ( get_the_author_meta( ‘site_url’ ) ); ?>”><?php
$user_data = get_userdata($author);
if ($user_data->user_url) {
echo $user_data->user_url . “<br />”;
}
?></a></p>

<p>Twitter URL: <a href=”<?php echo ( get_the_author_meta( ‘twitter_url’ ) ); ?>”><?php
$user_data = get_userdata($author);
if ($user_data->twitter_url) {
echo $user_data->twitter_url . “<br />”;
}
?></a></p>
<p>Facebook page: <a href=”<?php echo ( get_the_author_meta( ‘facebook_url’ ) ); ?>”><?php
$user_data = get_userdata($author);
if ($user_data->facebook_url) {
echo $user_data->facebook_url . “<br />”;
}
?></a></p>
<p>Google+: <a href=”<?php echo ( get_the_author_meta( ‘Google’ ) ); ?>”><?php
$user_data = get_userdata($author);
if ($user_data->Google) {
echo $user_data->Google . “<br />”;
}
?></a></p>
<br />
<hr>

<h3>プロフィール</h3>
<?php the_author_meta( description, $author ); ?>
<h3>アンケート</h3>
<p>好きな俳優は?: <?php the_author_meta( actor, $author ); ?></p>
<p>好きな女優は?: <?php the_author_meta( actress, $author ); ?></p>
<p>好きなドラマ1位: <?php the_author_meta( best1, $author ); ?></p>
<p>好きなドラマ2位: <?php the_author_meta( best2, $author ); ?></p>
<p>好きなドラマ3位: <?php the_author_meta( best3, $author ); ?></p>
<p>好きなドラマ4位: <?php the_author_meta( best4, $author ); ?></p>
<p>好きなドラマ5位: <?php the_author_meta( best5, $author ); ?></p>

<hr>

修正後です。

<?php echo get_avatar(get_the_author_meta( 'user_email', $author ), 80); ?><?php the_author_meta( 'display_name', $author ); //ここから本文?><br />
<p>サイト: <a href=”<?php echo ( get_the_author_meta( ‘site_url’ ) ); ?>”><?php
$user_data = get_userdata($author);
if ($user_data->user_url) {
echo $user_data->user_url . “<br />”;
}
?></a></p>

<p>Twitter URL: <a href=”<?php echo ( get_the_author_meta( ‘twitter_url’ ) ); ?>”><?php
$user_data = get_userdata($author);
if ($user_data->twitter_url) {
echo $user_data->twitter_url . “<br />”;
}
?></a></p>
<p>Facebook page: <a href=”<?php echo ( get_the_author_meta( ‘facebook_url’ ) ); ?>”><?php
$user_data = get_userdata($author);
if ($user_data->facebook_url) {
echo $user_data->facebook_url . “<br />”;
}
?></a></p>
<p>Google+: <a href=”<?php echo ( get_the_author_meta( ‘Google’ ) ); ?>”><?php
$user_data = get_userdata($author);
if ($user_data->Google) {
echo $user_data->Google . “<br />”;
}
?></a></p>
<br />
<hr>

<h3>プロフィール</h3>
<?php the_author_meta( 'description', $author ); ?>
<h3>アンケート</h3>
<p>好きな俳優は?: <?php the_author_meta( 'actor', $author ); ?></p>
<p>好きな女優は?: <?php the_author_meta( 'actress', $author ); ?></p>
<p>好きなドラマ1位: <?php the_author_meta( 'best1', $author ); ?></p>
<p>好きなドラマ2位: <?php the_author_meta( 'best2', $author ); ?></p>
<p>好きなドラマ3位: <?php the_author_meta( 'best3', $author ); ?></p>
<p>好きなドラマ4位: <?php the_author_meta( 'best4', $author ); ?></p>
<p>好きなドラマ5位: <?php the_author_meta( 'best5', $author ); ?></p>

<hr>

そう……表示項目「the_author_meta( actor, $author )」ここに「’」が抜けていたのです。「( ‘actor’, $author )」が正解でした。凡ミスって本当に恐い!!

「Use of undefined constant description」エラーは記述ミス

項目に「’」を付けただけで解決し、きちんと表示されるようになりました。

後々聞いた話によると、「Use of undefined constant description」エラーの原因はほとんどが記述ミスだそうです。

あきらめないで原因を探して対処しましょう。(自分に言ってる)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

profile

主にWordpress中心のサイト・ブログ制作&コーダー、カスタマイザー。

2000年からHP制作を始めました。

ハウツーサイトやキュレーションサイトのライター、ブログ作成・運営のお手伝いなどをしております。

お仕事で関わった無料ブログ&Wordpressカスタマイズ案件実績500件以上。

携わったワードプレステーマ30以上。

アナリティクスを観察するのは生活の一部。

Google Analytics個人認定資格取得(GA4)。 SEOマーケティングアドバイザー資格取得。

SEOに特化したページ作りをめざしています。

 

カスタマイズのご依頼は「一木堂」へ

follow us in feedly 映画@見取り八段 | 映画感想ブログ coconara ss

サポートよろしくお願いします

いつもありがとうございます。

この記事を気に入って下さった方、「寄付してあげてもいいよ」という方がいらっしゃったらサポートしていただけると嬉しいです。

Amazonギフト券- Eメールタイプ - Amazonベーシック
金額は空白欄に適当に(15円から)書きこんで下さい。(あらかじめ入っている金額はAmazonの設定なので気になさらないでください)。

メールのあて先は 「ageru15@gmail.com」です。
※上記のアドレスは投げ銭受け取り専用です。他のメールは受け取れない設定にしてあるのでご注意ください。

a
よろしくお願いいたします。

なお、この投げ銭システムに関する記事はこちら→『ブログに「投げ銭」システムをつける方法を考えてみたまとめ』

コメント

コメントする

目次