他所のサーバから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の5系から搭載されたブロックエディタ(Gutenberg)を元に戻す方法
WordPressを5系にアップデートしたところ記事投稿ページのエディタが大幅に ...
-
-
WordPressで運用中のサイトを停止しないままサーバ移設する方法
WordPressを設置しているサーバのリソースがそろそろ危ういので移設を検討す ...
-
-
Advanced Custom FieldsでGoogleMapの使用する方法
Advanced Custom FieldsでGoogleMapを使用したかった ...
-
-
WordPressで画像にカテゴリを設定し、記事投稿の際の画像選択時に指定したカテゴリの画像のみ表示させる方法
WordPressのメディアライブラリに画像を沢山登録していると、記事投稿の際の ...
-
-
WordPressの管理画面で記事一覧にアイキャッチ画像を表示
WordPressの管理画面で記事一覧にアイキャッチ画像を表示させる方法のメモ。 ...