LINE Messaging APIで phpから Pushメッセージを送信する

1. LINE for Bussinessを用意する

LINE Messaging APIを使用するには Line Developers に登録する必要があります。
LINE Bussiness ID を作る

次に LINE Bussiness アカウントとLINEアカウントを連携します。
連携するURL

2. LINE Messaging APIを設定する

channelをつくる

Webhookを設定

Webhook settings の 「Edit」 をクリックし、公開しているWebhookURLを設定します。

Channel access tokenを有効化

Messaging APIの下部にある「Channel access token」の「Channel access token (long-lived) 」から「Issue」をクリック。

つくったchannelをお友達登録する

Messaging API 管理画面から作ったチャンネルのQRコードを表示してお友達登録する



    // LINE Messaging API プッシュメッセージを送る
    $LINE_PUSH_URL = "https://api.line.me/v2/bot/message/push";


    $LINE_CHANNEL_ACCESS_TOKEN = 'ZXCVFDSA*******************'; 

    // Your user ID
    // Messaging API 管理画面で確認 これくらいながいやつ
    $LINE_USER_ID = "U3**********************";

    // 送信するメッセージ
    $message_1 = "こんにちは API";
    $message_2 = "PHPからPUSH送信\r\n改行して2行目";

    // リクエストヘッダ
    $header = [
        'Authorization: Bearer ' . $LINE_CHANNEL_ACCESS_TOKEN,
        'Content-Type: application/json'
    ];

    // 送信するメッセージの下準備
    $post_values = array(
        [
        "type" => "text",
        "text" => $message_1
        ],
        [
        "type" => "text",
        "text" => $message_2
        ]
    );

    // 送信するデータ
    $post_data = [
        "to" => $LINE_USER_ID,
        "messages" => $post_values
        ];

    // デバグ確認用のログ:送信データ
    $file = '/tmp/post_data.txt';
    file_put_contents($file, json_encode($post_data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE), FILE_APPEND);
    file_put_contents($file, PHP_EOL.PHP_EOL, FILE_APPEND);

    // cURLを使った送信処理の時は true
    // file_get_contentsを使った送信処理の時は false
    $USE_CURL = true;

    if ($USE_CURL) {
        // cURLを使った送信処理
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $LINE_PUSH_URL);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
        curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($post_data));
        $result = curl_exec($curl);
        curl_close($curl);
    }
    else
    {
        // file_get_contentsを使った送信処理
        $context = stream_context_create(array(
            'http' => array(
                'method' => 'POST',
                'header' => implode("\r\n", $header),
                'content'=>  json_encode($post_data),
                'ignore_errors' => true
            )
        ));

        $result = file_get_contents(
            $LINE_PUSH_URL,
            false,
            $context
            );
    }

    // デバグ確認用のログ:受信レスポンス
    $file = '/tmp/result.txt';
    file_put_contents($file, $result, FILE_APPEND);
    file_put_contents($file, PHP_EOL.PHP_EOL, FILE_APPEND);

jquery 要素を取得 いろいろ

指定した要素本体の取得


   $('#youso').prop('outerHTML');
 

自分の親要素の順位

 
 var this_index = jQuery('.oya p').index(jQuery(this).parent());
 oyaクラスの中のpが何番目かが取得できる this は同じ親を持つボタンとか
 

チェックされているラジオボタン、checkBoxの値を取得

 
jQuery('input[name="shipper"]:checked').val();
 

セレクトメニューに値をセット

 
jQuery(this).prop("selectedIndex", 0); //最初のoption指定
 

セレクトメニューで選択されたoption要素のdata属性を取得

 
jQuery('select').children('option:selected').data('id');

プラグインをデータベースから無効化

これで探す


select * from wp_options where option_name = 'active_plugins'
 
 
// シリアライズされた文字列↓
$a='a:48:{i:0;s:25:"add-to-any/・・・・・・";}';

$b= unserialize($a);

array_splice($b,25,1);  //インデックスだと24を無効化
array_splice($b,13,1);  //〃 12
print_r($b);
$b = serialize($b);
var_dump($b); // 再度シリアライズして コピー
 
 
update wp_options
            -- ここに貼る ↓
set  option_value = 'i:0;s:23:"add-to-any/・・・・・・";}'
where option_name = 'active_plugins'