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));
        }
    }
}
?>

 

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

AM,