質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

解決済

1回答

1911閲覧

wordpressテーマ作成でトップページにおいて各記事の紹介文でその記事のディスクリプションを表示したい

noki0905

総合スコア12

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

0クリップ

投稿2019/06/10 13:57

前提・実現したいこと

wordpressの自作テーマ作成をしています。
index.phpでトップページを作成していて、直近記事10記事を並べて表示するようにしており、
各記事の紹介でその記事の【ディスクリプション】を表示したいです。

試したこと

All in one SEO packageを使用しており、以下の記事を参考に次項のようなコードを書きました。
[https://ichicoro.jp/it_web/wordpress/wp_plugins_aioseop_get_field/]

該当のソースコード

PHP,HTML

1<?php if(get_post_meta( $post->ID, _aioseop_description, true )): ?> 2<p class="description"><?php get_post_meta($post->ID, _aioseop_description, true); ?></p> 3<?php else : ?> 4<p class="description"><?php echo mb_substr(get_the_excerpt(), 0, 90); ?>...</p> 5<?php endif; ?>

発生している問題・エラーメッセージ

以下のように【_aioseop_description】が定義されていないとエラーが出ます。
2つ同じエラーが出ており15,16行目となっています。
15,16行目には上記ソースコードの1,2行目が該当します。

Warning: Use of undefined constant _aioseop_description - assumed '_aioseop_description' (this will throw an Error in a future version of PHP) in /Applications/MAMP/htdocs/wordpress/wp-content/themes/Omple/index.php on line 15

初めての質問のため、何か不明な点がございましたら申し訳ございませんが、
ご指摘頂けると幸いです。
よろしくおねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

_aioseop_description をシングルクォーテーションで囲ってみてください。

php

1<?php 2 3<?php if (get_post_meta( $post->ID,'_aioseop_description', true )): ?> 4<p class="description"><?php get_post_meta($post->ID, '_aioseop_description', true); ?></p>

念のため、コメントに関して追記しておきます。

PHPの新しいバージョンではクォーテーションなしだとWorningが発生するということですね。

Warning(警告)の内容は、「未定義の定数 _aioseop_description を使おうとしていますよ。(未定義の定数ではこれ以上処理が続けられないので)ひとまず文字列だと思って処理しておきます。」というものです。

続く警告内容は、「現在の PHP のバージョンではこれは警告にとどまっていますが、PHP の次のメジャーバージョンアップ後にこれは警告ではなくエラーとして処理されますよ」というものです。つまり「ひとまず文字列として処理する」ということすらやってくれなくなり、そこで処理が止まってしまうようになるということを意味しています。

https://www.php.net/manual/ja/migration72.deprecated.php#migration72.deprecated.unquoted-strings

投稿2019/06/10 14:34

編集2019/06/10 15:58
YukiYamashina

総合スコア1011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

noki0905

2019/06/10 15:10 編集

試したところエラーは消えましたが、何も表示されませんでしたが、 自分で一つミスに気づきましたので、変えたところ正常に動きました。 get の前に echoが足りませんでした。 ```php <p class="description"><?php `echo` get_post_meta($post->ID, '_aioseop_description', true); ?></p> ``` PHPの新しいバージョンではクォーテーションなしだとWorningが発生するということですね。 助かりました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問