WordPress 特定カテゴリの投稿をランダムにツイート - PHPスクリプト
当ページのリンクには広告が含まれています。
PHPで、WordPressの投稿をランダムにツイートするスクリプトを紹介します。
WordPressのプラグインを使えばいいんじゃ……と思われる方もいるかもしれません。その通りなんですが、より細やかに設定するにはやはりスクリプトを自作するほうがいいでしょう。
ということで、WordPressの特定カテゴリの投稿をランダムにツイートするPHPスクリプトを紹介します。
特定カテゴリの投稿をランダムにツイート
WordPressには便利な関数がたくさん用意されているので、それらを利用しましょう。関数を利用するために、まずは wp-load.php ファイルを読み込みます。このファイルは、WordPressをインストールしたディレクトリの直下にあります。
// WordPressの関数をロード require_once('wp-load.php');
次にWordPressのカテゴリID(ここでは、1)を指定し、投稿を配列で取得します。取得には get_posts() を利用します。投稿をランダムにツイートすることを想定しているので、'orderby'=>'rand' を指定しています。
// カテゴリID $cat_id = 1; // 指定したカテゴリIDの投稿を配列に $posts = get_posts(array( 'category'=>$cat_id, 'orderby'=>'rand' ));
次に取得した投稿の配列から、記事のタイトルとパーマリンクを取得します。
// 抽出した記事のタイトル $post_title = $posts[0]->post_title; // 抽出した記事のパーマリンク $post_link = get_permalink($posts[0]->ID);
これでつぶやく準備完了ですね。あとは「Twitter bot」と同じようにスクリプトを作成すれば、OKです。定期的につぶやかせたい場合は、cronの設定をしましょう。
PHPスクリプト
<?php // WordPressの関数をロード require_once('wp-load.php'); // カテゴリID $cat_id = 1; // 抽出した記事のパーマリンク $post_link = get_permalink($posts[0]->ID); // 指定したカテゴリIDの投稿を配列に $posts = get_posts(array( 'category'=>$cat_id, 'orderby'=>'rand' )); // 抽出した記事のタイトル $post_title = $posts[0]->post_title; // メッセージを作成 $message = $post_title . " " . $post_link; // OAuthスクリプトの読み込み require_once('twitteroauth/twitteroauth.php'); // Consumer key $consumer_key = "XXXXXXXXXXXXXXXXXXX"; // Consumer secret $consumer_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // Access token $access_token = "123456789-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // Access token secret $access_token_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // つぶやく $connection = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret); $req = $connection->OAuthRequest("https://api.twitter.com/1.1/statuses/update.json","POST",array("status"=> $message )); ?>