WordPressのプラグインを自作してみた。Twitterへ投稿するよ。

20160213

Logging


WordPressのプラグインを自作してみた。
Twitterへ投稿するよ。
コードは下記です、まだコードは途中段階ですので自分のファイルは
更新していきますが、その前にソースを公開しちゃいます。
尚、認証設定はまえ段階で行っているものとします。
プログラマーさんよりのコードですが任意のapiキーなどを
ウェブで取り込んでいればプログラマーさん以外でも
使用可能です。
※まえ段階の認証方法と手順↓
https://syncer.jp/twitter-api-matome?←こちらのサイトを
参考に必要になる全てのキーを取得してください。
その後、zipファイルを解凍しWordPressのプラグイン置き場に
ファイルをアップロードしてください。
アップロードする場所はこちら、ルート/wp-content/pluginsに
解凍したフォルダごと(twitter-api-phz.)アップロード。
アップロード後、WordPressのメニューバーのTwitterAPI設定から
取得した任意のキーを入力してください。
入力が正しければTwitterに記事が更新時に投稿されます。
※何度も投稿されます。更新ボタンを押すと(*^^)ニヒ{間隔があけば}
そこらへんはカスタマイズを行ってください。
あくまでもサンプルコードですので・・・。
サンプルコードプラグインファイル(twitter-api-phz.zip

<?php
/**
 * @package twitter-api-phz
 * @version 1.0.0
 */
/*
Plugin Name: twitter-api-phz
Plugin URI:  http://zip358.com/tool/twitter-api-phz.zip
Description: twitter Posting
Version:     1.0.0
Author:      zip358.com
Author URI:  https://zip358.com/
License:     MIT
Text Domain: zip358.com
*/
require(dirname(__FILE__) .'/twitteroauth/autoload.php');
use Abraham\TwitterOAuth\TwitterOAuth;
add_action('publish_post','twitter_api_phz');
add_action('admin_menu','twitter_api_phz_menu');
add_action("admin_init","twitter_api_phz_menu_init");
function twitter_api_phz($post_id){
    $post = get_post($post_id);
    if($post->post_status == "publish"){
        $str = $post->post_title." ".$post->guid;
        msg_run($str);
    }
}
function msg_run($str) {
            $to = new TwitterOAuth(esc_attr(get_option("phz_consumerKey")),
                    esc_attr(get_option("phz_consumerSecret")),
                    esc_attr(get_option("phz_accessToken")),
                    esc_attr(get_option("phz_accessTokenSecret")));
            $content = $to->post("statuses/update",array("status"=>$str));
}
function twitter_api_phz_menu(){
    add_menu_page("Twitter自動投稿設定", "TwitterAPI設定",10,"twitter_api_phz_menu_page","twitter_api_phz_menu_page");
}
function twitter_api_phz_menu_page(){
    ?>
<form method="post" action="">
    <?php
    wp_nonce_field('my-nonce-key','twitter-api-phz-menu-key');
    ?>
    ●consumerKey<input type="password" name="phz_consumerKey" value="<?=esc_attr(get_option("phz_consumerKey"));?>"><br />
    ●consumerSecret<input type="password" name="phz_consumerSecret" value="<?=esc_attr(get_option("phz_consumerSecret"));?>"><br />
    ●accessToken<input type="password" name="phz_accessToken" value="<?=esc_attr(get_option("phz_accessToken"));?>"><br />
    ●accessTokenSecret<input type="password" name="phz_accessTokenSecret" value="<?=esc_attr(get_option("phz_accessTokenSecret"));?>"><br />
    <input type="submit" value="<?='登録する';?>">
</form>
    <?php
}
function twitter_api_phz_menu_init(){
    if(isset($_POST["twitter-api-phz-menu-key"]) && $_POST["twitter-api-phz-menu-key"]){
        if(check_admin_referer("my-nonce-key","twitter-api-phz-menu-key")){
            foreach ($_POST as $key=>$val) {
                    if(isset($_POST[$key]) && $_POST[$key]){
                        if($key !="twitter-api-phz-menu-key"){
                            update_option($key, $val);
                        }
                    }
            }
            wp_safe_redirect(menu_page_url("twitter_api_phz_menu_page",false));
        }
    }
}
?>

 

タグ

AM,