他所のサーバからWordPressの記事情報をpostIDを指定して取得する方法
2024/03/06
他所のサーバからWPの記事IDを指定した上で、当該IDのタイトル・アイキャッチ画像URL・記事URLを取得したかった。取得元はPHPが利用不可なためAjax等でWP側にアクセスし、jsonデータ等でデータを引っ張ってきたい。WP側の対応方法をメモ。
ソースコード
<?php
//WordPress関連の関数を使うために呼び出し(ディレクトリは適宜変更)
require './wp-load.php';
do{
//記事IDが無い場合
if( !$_GET['post_id'] ){
$return['status'] = 400; //ステータスコードは適宜変更
break;
}
$post_id = $_GET['post_id'];
$post_info = get_post( $post_id );
//記事が見つからない場合
if( !$post_info ){
$return['status'] = 404; //ステータスコードは適宜変更
break;
}
$return = array(
'post_data' => array(
'title' => $post_info->post_title, //タイトル
'link' => get_permalink( $post_id ), //リンク
'thumbnail' => get_the_post_thumbnail_url( $post_id ), //アイキャッチのURL
),
'status' => 200,
);
}while(0);
echo json_encode($return);
その他
カスタムフィールドから記事情報を取得したい、とか場合は先にカスタムフィールドで検索して記事IDを取得するのが良さそう。それが難しそうな場合はpostmetaテーブルから直接引っ張ってくるようにそこだけSQL文を書くのが早いかも。以下SQL文の例。
SELECT post_id FROM wp_postmeta WHERE meta_key LIKE 'item_00%' AND meta_value = 'xxx';
meta_keyやmeta_valueの値は適宜変更すること。
関連記事
-
-
WordPressで実行されているSQL文をページ上に表示する方法
WordPressにてWP_Queryで記事を取得しようとしたものの希望の挙動に ...
-
-
WordPressの記事公開・更新時に何らかの処理を行う方法
WordPressで記事を公開(予約公開含む)もしくは更新した際に何らかの処理を ...
-
-
WordPressでメモリを節約しつつ高速化する設定方法
メモリ1GのVPSを借りてWordpress以外にも、ちょいちょいものを置いてい ...
-
-
WordPressのメディアライブラリで「画像を編集」をクリックしても画像が表示されない(編集できない)場合の対応方法
WordPressのメディアライブラリで「画像を編集」をクリックしても画像が表示 ...
-
-
WordPressで複数あるクリック広告をランダムで表示させる方法
同じクリック広告をずっと貼っているとクリック単価が下がると聞いた。WordPre ...