2020.03.11

WordPressでアメブロ特定テーマの記事を自動で記事化する機能を作ってみよう④【おまけ編】

こんにちは、webエンジニアのゾノ( @ozonosho )です。

さて、全3回に渡って実装してきたWordPressでアメブロ特定テーマの記事を自動で記事化する機能は一応のところ昨日のブログで完結しました。

しかし、昨日のブログで紹介したコードだとcronに登録して自動実行されるようにするためには引数を動的に渡す必要があるせいかその部分で質問が届いたので、今回はおまけとして「僕のサイトでの実装コード」をそのままご紹介いたします。

関数で紹介する形になりますが、この関数で出来ることは下記のとおりです。

前提
  • WordPressユーザーのカスタムフィールドに「アメブロID」「アメブロテーマID」の2つをセットしておく
  • 実装した関数はwp-cron等のcronを利用して毎日深夜0時に自動実行する
  • アメブロで特定のテーマ(=ブログカテゴリー)で書いた記事をWordPressで管理している別サイトに転送して記事化する
仕様
  • WordPressユーザーの情報を取得して「アメブロID」「アメブロテーマID」がセットされているユーザーがいれば処理を実施
  • 指定した「アメブロID」「アメブロテーマID」の記事のうち、前日に書かれた記事があれば取得
  • 取得した記事はWordPressの投稿データに変換して「本番公開前(pending)状態」で保存

こんな感じです!

これらを叶えてくれる関数がこちら

下記のコードをfunctions.phpに追加すればどなたでも利用できます。

※①について
僕のサイトでは権限を指定してユーザーを取得するために「role=mama-staff」を入れていますが、指定しない場合は空で構いません。

※②について
アメブロIDのカスタムフィールドkeyを「ameblo_id」、テーマIDのカスタムフィールドkeyを「ameblo_theme_id」に設定しています。keyのネームを違う値にした場合はご自身の設定に合わせて変更してください。

※③について
wp-cronに登録するために作成した関数をアクションフックに登録しています。

おわりに

以上、今回はWordPressでアメブロ特定テーマの記事を自動で記事化する機能のおまけでした(*´`)

当サイトではWordPressのカスタマイズ依頼を請け負っています。実現したい機能・要望がある方はぜひ下記ページよりご相談ください。

あなたのサイトに理想の機能を実装!WordPressカスタマイズサービス

本サービスはあなたのWordPressサイトに理想の機能を実装するサービスとなります。 どのような機能・要望でも実現可能です! Wo......

→この記事を読む