そろそろPHPのバージョン引き上げしないと駄目。WPの話。

2022.06.09

Logging

おはようございます。お腹が痛くなるとそれが一週間ほど続いたりします😭。

今日のタイトルは「自分のサーバーのPHPバージョンをアップさせない駄目。WPの話」です。いつの間にかWordPressのバージョンが6になりましたよね。いまの推奨環境ではPHP7.4以上になっています。ワードプレスのロードマップがどうなっているかは知りませんが、そのうちPHP7.4は非推奨になり何れ動作しなくなることは目に見えているので、近々、PHPのバージョンアップを行いたいと思います。

その際はサーバーを停止することもあるので、表示されないという事象が起こる可能性があります。

尚、cgi-binを使用して動かすようになると思います。エンジンエックスでcgi-binを使用するのは初めてですので、長い間、サーバーが不安定な状態になるかもしれません。

タグ

6, 7.4, cgi-bin, php, WordPress, wp, アップ, いま, うち, エックス, エンジン, お腹, こと, サーバー, それ, タイトル, バージョン, プレス, マップ, ロード, ワード, , 不安定, 事象, 今日, 何れ, 使用, 停止, 初めて, 動作, 可能性, 推奨, 状態, 環境, , 自分, 表示, , , , 駄目,

YOUTUBEプレミア一時停止しましたが、YOUTUBEをほぼ広告無しで見る方法。

2021.11.08

Logging

YOUTUBEプレミア一時停止しましたが、YOUTUBE広告無しで見る方法を先日知りまして、その合法的な方法で見ております。その方法とはbraveというブラウザで見ると一切の広告をカットしてくれます。その代わりにbraveの広告がはいるのですが、ほぼ無いみたいなモノなのでとてもストレスフリーなブラウザです。何故、このような事ができるのかといえば、Gさんなどに広告費を代わりに支払ってくれているのでこういう事ができているのだとか。

動画クリエイター/起業家がおすすめしたい神ツール3選!

iosアプリやAndroidアプリも存在するので怪しいソフトではないです。このブレイブブラウザの発案者(開発)はjavascriptの開発者、ブレンダン・アイクなので全然、安全かと思います。そして全ての広告をカットするのではないとwikiには書いているけどほぼカットに近いw。

使用し始めてあまり月日が経っていないからなのか、広告はほぼ無いですね。全てをブレイブに委ねるのはちょっと心配なので、自分はYOUTUBE以外はChromeを今も使用中です。

そしてYOUTUBEミュージックの代替えにアマゾンミュージックを使用しています。アマゾンミュージックはプレミア機能だけだとちょっと物足りないけどもサブスクリプションが見直せて良かったと思います。尚、仕事に就き次第、YOUTUBEプレミアはまた始めようかなとは思っているので一時停止にしています。

以上、節約メモでした。

タグ

5, Android, brave, com, dDkE-gzpNM, https, iOS, javascript, , watch, wiki, www, youtube, アイク, アプリ, カット, ストレスフリー, ソフト, ブラウザ, ブレイブ, プレミア, ブレンダン, もの, , 一切, , 停止, 先日, 全て, 存在, 安全, 広告, 方法, 発案者, 開発, 開発者,

NTTのCOTOHA API(コトハAPI)でWordPressの自動タグ生成プラグインを作ってみた。

2020.02.20

Logging

GUIはこんな感じになります。

jp-auto-tagというプラグインをYahoo!APIを使用し作っていましたが

何だか、バージョンが変わるらしくてその対応するのが…。
面倒くさいなぁと感じたので
コトハAPIで同じ感じのものを作ってみました。
尚、jp-auto-tagを使用している方はjp-auto-tagを停止してjp-auto-tag2をご使用ください。また圧縮ファイルを解凍しワードプレスのプラグインフォルダにフォルダごと、アップロードしプラグイン有効にしAPIの設定すると自動タグが生成可能です。

ブログ投稿時にタグが自動生成されますので、確認の際は画面を再読み込みしてご確認ください。

尚、オプションデータは残り続けますので悪しからず?

プラグインのソースコードはこんな感じになります。

<?php
/*
Plugin Name: jp-auto-tag2
Version: 0.1.10
Description: auto jp tag2
Author: taoka toshiaki
Author URI: https://zip358.com/
Plugin URI: https://zip358.com/plugin/jp-auto-tag2.zip
*/
class jp_auto_tag2
{
    public $db_option = "jp_auto_tag2";
    function frm_page2()
    {
        add_menu_page('jp-auto-tag2', 'jp-auto-tag2',  'manage_options', __FILE__, array($this, 'show_text_option_page2'), '', 8);
    }
    function show_text_option_page2()
    {
        wp_enqueue_style('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css', array(), '3.3.6');
        wp_enqueue_script('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js', array(), '3.3.6');
        $options = get_option($this->db_option);
        if (!empty($options)) {
            $Access_Token_Publish_URL = $options["Access_Token_Publish_URL"];
            $API_Base_URL = $options["API_Base_URL"];
            $Client_ID = $options["Client_ID"];
            $Client_secret = $options["Client_secret"];
            $max_keyword_num = $options["max_keyword_num"];
        }
        include_once dirname(__FILE__) . '/jp-auto-tag-tmp2.php';
    }
    function ajax_event2()
    {
        $options["max_keyword_num"] = $obj["max_keyword_num"] = (int)$_POST["max_keyword_num"]<5?5:(int)$_POST["max_keyword_num"];
        $options["Access_Token_Publish_URL"] = $obj["Access_Token_Publish_URL"] = $_POST["Access_Token_Publish_URL"];
        $options["API_Base_URL"] = $obj["API_Base_URL"] = $_POST["API_Base_URL"];
        $options["Client_ID"] = $obj["Client_ID"] = $_POST["Client_ID"];
        $options["Client_secret"] = $obj["Client_secret"] = $_POST["Client_secret"];
        update_option($this->db_option, $options);
        print json_encode($obj);
        die(0);
    }
    function api_tag2($post_id)
    {
        $cuthttp = function ($str = "") {
            if (!$str) return $str;
            return preg_replace("/https?:\/\/[a-zA-Z0-9|%|\?|_|=|-|\.|\/]*$/m", "", $str);
        };
        $post = get_post($post_id);
        $title = $post->post_title;
        $content = strip_tags($post->post_content);
        $document = $title . $cuthttp($content);
        $options = get_option($this->db_option);
        if ($options["Access_Token_Publish_URL"] && $options["Client_ID"] && $options["Client_secret"]) {
            $curl = function ($ptn, $options, $token = "", $token_type = "", $document = "") {
                switch ($ptn) {
                    case "token":
                        $data = [
                            'grantType' => 'client_credentials',
                            'clientId' => $options["Client_ID"],
                            'clientSecret' => $options["Client_secret"],
                        ];
                        $header = [
                            'Content-Type: application/json;charset=UTF-8',
                        ];
                        $url = $options["Access_Token_Publish_URL"];
                        break;
                    case "tag":
                        $data = [
                            'document' => $document,
                            'max_keyword_num'=>$options["max_keyword_num"],
                        ];
                        $header = [
                            'Authorization: ' . ucfirst($token_type) . ' ' . $token,
                            'Content-Type: application/json;charset=UTF-8',
                        ];
                        $url = rtrim($options["API_Base_URL"],"/")."/nlp/v1/keyword";
                        break;
                }
                $curl = curl_init();
                curl_setopt($curl, CURLOPT_URL, $url);
                curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
                curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
                curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
                curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
                curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($curl, CURLOPT_HEADER, true);
                $response = curl_exec($curl);
                $header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
                $header = substr($response, 0, $header_size);
                $body = substr($response, $header_size);
                $res = (object)json_decode($body, true);
                curl_close($curl);
                return $res;
            };
            $res = $curl("token", $options);
            $access_token = $res->access_token;
            $token_type = $res->token_type;
            if ($options["API_Base_URL"] && $document && $access_token){
                $res = $curl("tag", $options, $access_token, $token_type, $document);
                foreach($res->result as $key=>$val){
                    $tags[] = $val["form"];
                }
                wp_set_post_tags($post_id, implode(",", array_unique($tags)), false);
            }
        }
    }
}
$jp_auto_tag2 = new jp_auto_tag2();
add_action('save_post', array($jp_auto_tag2, 'api_tag2'));
add_action('publish_post', array($jp_auto_tag2, 'api_tag2'));
add_action('admin_menu', array($jp_auto_tag2, 'frm_page2'));
add_action('wp_ajax_ajax_event2', array($jp_auto_tag2, 'ajax_event2'));

<form id="ajax-frm">
<table class="table">
    <tr>
        <td>
            プラグイン説明:jp-auto-tag2はapi.ce-cotoha.comのAPIを<br>
            使用し投稿文を解析しキーワードをタグを抽出します。<br>
        </td>
    </tr>
    <tr>
        <td>
            <a href="https://api.ce-cotoha.com/contents/index.html" target="new">https://api.ce-cotoha.com/contents/index.html</a><br>
            上記のURLよりユーザー登録を行いAPI情報をそれぞれ入力ください。全て必須項目になります。
        </td>
    </tr>
    <tr>
        <td>
            Access Token Publish URL:<br>
            <input type="text" name="Access_Token_Publish_URL" value="<?=$Access_Token_Publish_URL?>"   class="form-control">
        </td>
    </tr>
    <tr>
        <td>
            API Base URL:<br>
            <input type="text" name="API_Base_URL" value="<?=$API_Base_URL?>"   class="form-control">
        </td>
    </tr>
    <tr>
        <td>
            Client ID:<br>
            <input type="text" name="Client_ID" value="<?=$Client_ID?>"   class="form-control">
        </td>
    </tr>
    <tr>
        <td>
            Client_secret:<br>
            <input type="text" name="Client_secret" value="<?=$Client_secret?>"   class="form-control">
        </td>
    </tr>
    <tr>
        <td>
            抽出するキーワード(タグ数)5以上:<br>
            <?php
            $max_keyword_num = (int)$max_keyword_num<5?5:$max_keyword_num;
            ?>
            <input type="text" name="max_keyword_num" value="<?=$max_keyword_num?>"   class="form-control">
        </td>
    </tr>
    <tr>
        <td colspan="2"><input type="button" id="frmsubmit" value="登録する" class="form-control"></td>
    </tr>
</table>
</form>
<script>
    jQuery(function($){
        $("#frmsubmit").on("click",function(){
            var ajaxurl = '<?=admin_url( 'admin-ajax.php');?>';
            var data = $("#ajax-frm").serializeArray();
            data.push({name:"action",value:"ajax_event2"});
            $.ajax({
               type:'POST',
               url:ajaxurl,
               data:data,
               success:function(obj){
                   console.log(obj);
                   alert("更新しました");
               }
            });
        });
    })
</script>

プラグインダウンロードはこちら
https://zip358.com/plugin/jp-auto-tag2.zip

タグ

2, API, COTOHA, GUI, jp-auto-tag, lt, name, NTT, php, plugin, WordPress, Yahoo, アップロード, オプション, コード, ことば, ご確認, ソース, タグ, データ, バージョン, ファイル, フォルダ, プラグイン, プレス, ブログ, もの, ワード, 使用, 停止, 可能, 圧縮, 対応, 感じ, 投稿, , 有効, 生成, 画面, 確認, 自動, 自動生成, 解凍, 設定, ,

windows10 1809 不具合 Chromeが繋がらない(タイムアウト)

2019.02.02

Logging

windows10アップデート後(1809) 不具合 :Chromeが繋がらない
(タイムアウト)の対応策。
初期化して再度OSを入れ直すのもアレなんで対応策として
スタートアップ時にBatを走らせる事にした。
管理者権限にするBatとネットワークサービスを再起動するBatで
なんとか次期OSのアップデートかGさんが解決してくれる事を
期待しています。
それまでコンピュータ管理のサービスとかも停止せず待っときます。
Batは下記になります。
追記:
累積アップデートで直りましたと言いたいところだけど
一度、累積アップデートの一部を削除して再度、累積アップデートを
適応したら直りました・・・。

net stop CryptSvc
net start CryptSvc
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process (管理者)ネットが繋がらないよ.bat -Verb runas"

タグ

-ExecutionPolicy, -NoProfile, 10, 1809, Bat, Chrome, CryptSvc, net, OS, powershell, start, stop, unres, Windows, アップ, アップデート, あれ, コンピュータ, サービス, スタート, それまで, タイムアウト, ところ, ネットワーク, 一度, 一部, 下記, 不具合, , 停止, 再度, 再起動, 初期, 削除, 対応策, 期待, 権限, 次期, 管理, 管理者, 累積, 解決, 追記, 適応,

3%の人のために今まで踊らされていた?

2017.09.23

Logging


炎上を行っているのは国民の3%。
その人のためにCMなど停止したり芸能人を引退に追いやったり、
法律の改正されていたと思うとやるせない気持ちなります。
自分が当初から言っていたことは
やはり正しかったのだなとも思えたのですけど・・やはり
この事をもっと早く国民に知らせるべきことかなと思いましたね。
これからは企業もネットで炎上しようが
CMを続けるべきだとじぶんは思います、一部の過敏な人たちの為に
CMを停止するなどする必要はないかと思います。
ネットの炎上により法律が変わっていき
規制規制で生きにくい社会になる一歩手前で
このような調査結果が文化庁から出たこと良いことかなと思いますが
逆に言えば今までそれ上手く使って法改正していた安倍政権。
地方置き去りの弱者に対する改正法案がかなりあるなと感じます。
都心では何とか成ることでも地方では何ともならないことがある事を理解しないと
今後、国がめちゃくちゃになる気がします。
地方置き去りの政治は危ういと思います。
たぶんオリンピックが終わった後から、景気は失速すると
その保険にJA改革があるだろうけれど、どうなることやら・・・。
安倍政権はおそらくオバマ政権と同じで
国民ビックデータの情報を駆使して国民の不満を操作しているので
何とかなっているだろう。また国民に対してネット広告やLINEなどを使い情報発信を
行っているのは、ある意味、洗脳。
じぶんが賢いと思っている人はやられる、
逆に自分は馬鹿だと思っているひとの方がよほど賢明だと思います。
他人に馬鹿にされている人が言っている事が正解だったということは
良くあることです。
主張する3%の国民と主張しない97%の国民。
どちらが正しいわけではないと自分は思っていますが、ただ過敏に
反応する事もないのではないかなとも思っています。3%の意見が正しくない
わけでもないですが、この頃、数と勢いだけで議論もせず改正法案が
可決されるのは後々、しっぺ返しが来るだろうと。

タグ

, CM, かなり, こと, これ, じぶん, それ, ため, ネット, , 一部, , , 今後, 企業, , 停止, , 国民, 地方, 安倍, 引退, 弱者, 当初, 必要, 手前, 改正, 政権, 文化庁, , 気持ち, 法律, 法改正, 法案, 炎上, , 理解, 社会, 結果, 置き去り, 自分, 芸能人, 規制, 調査, , 過敏, 都心,