【WordPress】URLやタイトルなどから記事情報を取得する方法

【WordPress】URLやタイトルなどから記事情報を取得する方法

エリカ

エリカ

こんにちは、エリカです。

Google Analyticsなどで計測したデータを、せっかくだからサイトのコンテンツとして活用したいと思ったことはありませんか?

例えば、Google Analyticsと連携して昨日閲覧された記事のランキングを作りたいときなど、その記事のURLはわかるけれども、サムネイルやタイトルなどの他の情報がわからないというときは、どうすればいいでしょうか。

今回は、サイトがWordPressで構築されている場合、記事の一部の情報からその記事情報へアクセスするためにはどのような方法があるかを調べてみました。

IDから取得する

まずは記事のIDがわかっている場合です。
記事のIDというのは、パーマリンク構造でいうところの%post_id%にあたる部分ですね。この場合は非常にシンプルです。

$post = get_post(記事ID);

これで該当する記事情報を参照できます。

URLから取得する

URLの場合です。
ブラウザのアドレスバーに表示されたり、シェアされたり、アクセス解析で計測されていたりするURLから記事情報が欲しい場合です。非常に便利な関数があります。

$post = url_to_postid(記事URL);

これで該当する記事情報を参照できます。

タイトルから取得する

タイトルから調べたい場合もあるかと思います。
SEOプラグインなどで出力されるページタイトルと記事タイトルが異なる場合を除けば、下記のようなコードで該当の記事情報を参照できます。

$post = get_page_by_title(タイトル, OBJECT, 'post');

ただし、記事タイトルは重複して設定することができてしまいますので、その場合は意図した結果にならないかもしれません。

スラッグから取得する

パーマリンク構造でいうところの%postname%、いわゆるスラッグから探す場合は、下記のようになります。

$post = get_page_by_path(スラッグ, OBJECT, 'post);

これで該当する記事情報を参照できます。

ただし、パーマリンク構造を複雑にしている場合などで、URL中に同じスラッグが設定されているなどすると意図した結果にならないかもしれません。

LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

ディレクターのエリカです。趣味は美術鑑賞で、絵画や展示などたくさんの作品を眺めるのが好きです。得意料理は「鍋」です。よろしくお願いします。

このメンバーの記事をもっと読む