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

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

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

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

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

Q&A

解決済

1回答

4724閲覧

WordPressにて動作は問題ないがVScode上にエラーUndefined type 'WP_Query'.が表示される。

yuuki45

総合スコア2

WordPress

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

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

0グッド

0クリップ

投稿2021/09/05 08:39

前提・実現したいこと

WordPressにて1つのページの中にWoedPressループが2箇所必要です。
ページに合わせて自動的に記事が表示されるメインクエリ。
もう一つはサイドバーに最新記事を5件を表示するといったものです。

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

開発環境下での動作は全く問題なく動作してるのですが、何故かVScode上にエラーメッセージが出ています。

エラーメッセージ

Undefined type 'WP_Query'.

該当のソースコード

ファイル名【sidebar-latests.php】

<?php $args = array( "post_type" => "post", //投稿記事だけ指定 "posts_per_page" => 5, //最新記事5件表示 ); $the_query = new WP_Query($args); if ($the_query->have_posts()) : ?>
<aside class="archive"> <h2 class="archive_title">最新記事</h2> <ul class="archive_list"> <?php while ($the_query->have_posts()) : $the_query->the_post(); ?> <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </li> <?php endwhile; ?> <?php wp_reset_postdata(); ?> </ul> </aside>
<?php endif; ?>

試したこと

エラーメッセージで検索して色々調べてみたのですが手がかりすら見つからず困っています。

補足情報(FW/ツールのバージョンなど)

ファイル名【index.php】ページ内にある<?php get_sidebar("latests"); ?>部分になります。
index.phpのソースコードは下記の通りです。

<?php get_header(); ?> <h2 class="pageTitle">最新情報<span>NEWS</span></h2> <?php get_template_part("template-parts/breadcrumb"); ?> <main class="main"> <div class="container"> <div class="row"> <div class="col-12 col-md-9">
<?php if (is_month()) : ?> <h2 class="main_title"><?php the_time("Y年m月d日"); ?></h2> <?php else : ?> <h2 class="main_title"><?php wp_title(""); ?></h2> <?php endif; ?> <div class="row"> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <div class="col-md-4"> <?php get_template_part("template-parts/loop", "news") ?> </div> <?php endwhile; ?> <?php endif; ?> </div> <?php if (function_exists("wp_pagenavi")) { wp_pagenavi(); } ?> </div> <div class="col-12 col-md-3"> <?php get_sidebar("latests"); ?> <?php get_sidebar("categories"); ?> <?php get_sidebar("archives"); ?> </div> </div> </div>
</main> <?php get_footer(); ?>

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

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

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

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

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

guest

回答1

0

ベストアンサー

例えば「VScode WP_Query」で検索すれば、下記のような情報が出てきます。
「お使いの環境(拡張機能など)+ WordPress」で調べてみてはいかがでしょう。


【VSCode拡張機能Intelephenseの更新によるUndefined type 'Route'(他クラス)のエラー - Qiita】
https://qiita.com/AkiYanagimoto/items/047c3492749a407c2ace

【VSCodeでWordPressの関数が未定義扱いされる問題を解決する方法 | シンタローコード】
https://aka-shin.com/wordpress-undefined-function/

【【WordPress・VSCode】PHP Intelephense拡張でWordPress関数がエラーとして扱われてしまう問題解決方法 | 開発 | 2019年12月13日 | モノグサにお灸】
https://monoxa.net/2019/12/wordpress-vscode-problem-solving-method-that-wordpress-function-is-treated-as-an-error-in-php-intelephense-extension/

投稿2021/09/05 09:01

kei344

総合スコア69606

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

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

yuuki45

2021/09/05 09:13

なるほど!VScodeのプラグインに原因があったのですね! 無事解決しました! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問