WordPress投稿ページからのダウンロード(WordPress Download Manager)

ファイル(ZipやPDFなど)を投稿ページからダウンロードするプラグイン(WordPress Download Manager)を導入します。
※WordPress Download Managerプラグインはダウンロードファイルサイズが扱えるファイルが5MBと小さいのです。
※日本語ファイル名をアップするとダウンロード時に文字化けします。

プラグインの導入方法は以下のページに記載していますので導入手順は省略します。

参照:WordPressでプラグインの追加方法

ダウンロードするにはダウンロードページを作成してリンクを埋め込む手順となります。


1.ダウンロードページの作成

WordPress管理者でログインして「Downloads」の「Add New」をクリックします。
ダウンロードするファイルのタイトルと説明を記入します。

ダウンロードするファイルを「Drop file heare」へドロップします。

「公開」にある「更新」をクリックして保存します。
「Downloads」の「All Files」をクリックします。

作成された「Short-code」の値をメモします。


2.ダウンロードページの埋込

作成する投稿の編集するページにメモした「Short-code」の値を「テキスト」で記述します。

プレビューすると以下のように表示されます。

ダウンロードするファイルの説明のリンクをクリックすると説明のページを表示します。

コピペでダブルコーテーションやシングルコーテーションが勝手に変換される

WordPressの仕様だなんて知りませんでした。
コード例記載しているのにコピペしたら半角が全角になっていてびっくり!
調べて変換されないように対応しました。

 
WordPressの管理者でログインして「外観」の「テーマエディター」をクリックします。
「テーマのための関数 (functions.php)」をクリックします。

 
2行目のコードを追記して下方にある「ファイルの更新」をクリックします。
コード:remove_filter("the_content", "wptexturize");

 
これでコピペしても半角が全角に変換されることがなくなります。

IRKit(学習リモコン)コマンド送信(API利用した屋外からのアクセス)

通信経路を図で表現してるけどわかりやすくするために簡略化しています。
IRKitサーバーを利用する方法をまとめます。

※屋外(屋内のネットワークへのアクセスはセキュリティ上、簡単に行えないようになっています。)からのアクセスはポーリングて方法でIRKitを中継して行われています。

IRKitのAPIを利用したコマンドの送信手順です。

コマンドはCurlを使用しています。
Windows10標準では入ってませんのでCurl導入は以下を参考にしてください。

参考:CurlをWindows10で使う

IRKitサーバーを利用せず直接IRKitに通信する場合は以下を参考にしてください。

参考:IRKit(学習リモコン)コマンド送受信(屋内からのアクセス)


1.IRKitのトークンの取得

Auoth2.0の面倒さですね。
コマンドでトークンを先に取得します。
clienttokenに表示された値をメモします。

コマンド:curl -i "http://{IRKitのアドレス}/keys" -d '' -H "X-Requested-With: curl"


2.トークンでデバイスIDとクライアントキーを取得

メモしたトークンを利用してコマンドでデバイスIDとクライアントキーを取得します。

コマンド:curl -i -d "clienttoken={メモしたトークン}" "https://api.getirkit.com/1/keys"


3.デバイスIDとクライアントキーでIRIRKitのPIを呼出

デバイスIDとクライアントキーでAPIにアクセスします。

コマンド:curl -i "https://api.getirkit.com/1/messages" ^
-d "clientkey=トークンで取得したクライアントキー" ^
-d "deviceid=トークンで取得したデバイスID" ^
-d "message={送信する信号}"

※注意!送信する信号のところをシングルコーテーションのまま囲って実行すると「400 Bad Request」のエラーが発生します。

IRKit(学習リモコン)コマンド送受信(屋内からのアクセス)

IRKitはAPIで操作可能になっておりいじりがいがあります。
なのでコマンド送受信についてまとめます。
本家の以下のサイトを参考にしています。

「出典元」http://getirkit.com/

コマンドはCurlを使用しています。
Windows10標準では入ってませんのでCurl導入は以下を参考にしてください。

参考:CurlをWindows10で使う


1.リモコンの信号をコマンドで受信

以下のコマンドでIRKitが学習したリモコンの信号を受け取ることができます。

コマンド:curl -i "http://{送信先IRKitのアドレス}/messages" -H "X-Requested-With: curl"

しかし、10分もしないうちに学習した信号は消されてしまいます。
以下のようにコマンドを実行しても何も表示されません。

学習させるリモコンを準備します。
「追加」を選択します。

学習させます。

コマンドを実行します。
IRKitが学習したリモコンの信号が表示されます。


2.リモコンの信号をコマンドで送信

送信するリモコンの信号を準備したら以下のコマンドでIRKitに送信できます。

コマンド:curl -i "http://{送信先IRKitのアドレス}/messages" -H "X-Requested-With: curl" -d '{送信するリモコンの信号}'

※送信するリモコンの信号に含まれるダブルコーテーションはWindowsなのでエスケープする必要があります。
 エスケープ前「{"format":"raw","freq":38,"data":[5049,5049,~ 以後省略」
 エスケープ後「{\"format\":\"raw\",\"freq\":38,\"data\":[5049,5049,~ 以後省略」

CurlをWindows10で使う

Curlは、HTTPなど様々なプロトコルでサーバーとコマンドでデータを転送することができます。
Windows10では標準で入っていないので入れちゃいます。
手順はダウンロードしたZIPを展開して使う場所におきPATHを通すだけなのですが一応まとめておきます。

「出典元」ダウンロードサイトURL https://curl.haxx.se/windows/
※2020年3月8日時点の内容です。
バージョンが新しくなり変わっている場合があります

 

1.Curlをダウンロードして配置

OSは64bitを使用しているので「curl for 64bit」リンクをクリックしてダウンロードします。
※32bitのOSを利用している場合は、「curl for 32bit」リンクをクリックします。
何bitかはコントロールパネルの「コントロール パネル\システムとセキュリティ\システム」にある「システムの種類」で確認できます。

画像クリックで拡大

ダウンロードしたZIPを解凍して中のフォルダを使用する場所(私はツール置き場を決めて使用しています。)に配置します。

 

2.Curlにパスを通す

Curlを配置した場所以外のフォルダから利用するのでいちいちパス指定するのが面倒です。
このため、パスを通して利用します。
コントロールパネルにある「システムの詳細設定」をクリックします。

「詳細設定」タブの下の方にある「環境変数(N)...」ボタンをクリックします。

画像クリックで拡大

「システム環境変数」の変数に表示されている「Path」を選択します。
「編集」ボタンをクリックします。

画像クリックで拡大

「新規」ボタンをクリックします。
Curlを配置したパスを入力して「OK」ボタンをクリックします。

以上で完了です。
実際に使っているところは以下の投稿記事です。

参考:IRKit(学習リモコン)コマンド送受信

 

IRKit(学習リモコン)の基本的な使い方

かなり便利なので昔に利用した赤外線リモコンでIRKitを久しぶりに利用することにしました。
見事に使い方を忘れてましたので記事にします。
※ルータに対して外部からアクセス可能にするような設定は行いません。

「出典元」maaash.jp IRKit - iPhone,iPadを使って外出先からエアコン等の家電を操作できる学習リモコン

使い方

1.リモコンアプリにIRKitを登録

Androidのリモコンアプリをダウンロードして起動します。
※DHCPで利用される場合が多いと思います。
 この時点でMACアドレスに対して固定IPを割り振るようにしておくとあとあと便利です。

「出典元」Nao lizuka IRKitシンプルリモコン

画像クリックして拡大

 

「追加」を選択します。

電源を入れて準備ができたら「次へ」を選択します。

IRKitが使用するSSID、セキュリティ、パスワードを入力して「次へ」を選択します。
※セキュリティの「WEP」は脆弱性がありますので利用しないでください。

IRKitのパスワードを入力して「OK」を選択します。
※「IRKitに接続できません。パスワードを確認して再度お試しください。」と表示される場合はIRKitのすぐそば(30cmほど)で再度試してください。

正常に登録されるとデバイスが表示されます。

2.リモコンアプリに学習させる使い方

リモコンアプリに学習から使用するところまでまとめます。
アプリ起動して画面左上に表示されるメニューを選択します。
「ボタン」を選択します。

学習させるリモコンを準備します。
「追加」を選択します。

学習させます。

信号の学習を完了するとボタンの登録ページが表示されます。
ボタン名を入力してすきなアイコンを指定したら「保存」を選択します。
※ボタンの位置はドラッグで調整可能です。

名前に「TV電源」と入力して保存した状態です。
ボタンを選択するとIRKitから学習した赤外線リモコンの信号が出力されます。

WordPressの投稿記事でカテゴリ関連記事一覧の追加

投稿記事のカテゴリで同一の関連記事を一覧で表示しているページがあります。
投稿記事のページは全て同じように関連記事の一覧を表示したいのでプラグインでなくプログラムを修正することにしました。
とはいえ採用したテーマやCSSの構成を把握するのも面倒なのでかなり手抜きですが参考程度に備忘録としますのでご容赦願います。

完成イメージ

 

投稿記事表示ページのプログラム修正

WordPressに管理者でログインして「外観」の「テーマエディター」をクリックします。
使用しているテーマは無料の「Nifty Lite」なので継承元の「Specia」リンクをクリックします。

「個別投稿(single.php)」をクリックします。

赤字の部分が追記したコードになります。
太字の部分はタイトルなど数値の10は最大10記事を表示します。
記事がなければ表示しません。
簡単なHTMLやサーバーサイドスクリプト言語を理解できれば難しくない内容かと思いますのでコピペしていい感じに修正して利用してください。

<!-- Blog & Sidebar Section -->
<section class="page-wrapper">
<div class="container">
<div class="row padding-top-60 padding-bottom-60">
<!--Blog Detail-->
<div class="<?php specia_post_column(); ?>" >
<?php if( have_posts() ): ?>
<?php while( have_posts() ): the_post(); ?>
<?php get_template_part('template-parts/content','page'); ?>
<?php endwhile; ?>
<?php comments_template( '', true ); // show comments  ?>
<?php else: ?>
<?php get_template_part('template-parts/content','none'); ?>
<?php endif; ?>
<?php
$categ = get_the_category($post->ID);
$catID = array();
foreach($categ as $cat){
array_push($catID, $cat -> cat_ID);
}
$args = array(
'post__not_in' => array($post->ID),
'category__in' => $catID,
'posts_per_page' => 10,
'orderby' => 'rand'
);
$the_query = new WP_Query($args);
if($the_query -> have_posts()) :?>
<b>関連記事</b>
<table>
    <tr>
        <td bgcolor="midnightblue" width="120"><font color="white">画像</font></td>
        <td bgcolor="midnightblue"><font color="white">タイトル</font></td>
    </tr>
<?php while($the_query -> have_posts()) : $the_query -> the_post(); ?>
    <tr>
        <td>
        <a href="<?php the_permalink(); ?>">
            <?php if(has_post_thumbnail()): the_post_thumbnail('thumbnail'); endif; ?>
        </a>
        </td>
        <td valign="top">
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </td>
    </tr>
<?php endwhile; ?>
</table>
<?php endif; wp_reset_postdata(); ?>
<div class="clearfix"></div>
            </div>
            <!--/End of Blog Detail-->
                <?php get_sidebar(); ?>
        </div>   
    </div>
</section>
<!-- End of Blog & Sidebar Section -->

 

画像拡大ポップアップ表示(WP jQuery Lightbox)

画像をページに貼り付けると縮小しないとみれないサイズの場合もあります。
ページの説明などがあるのでポップアップで画像のみ拡大表示させる WP jQuery Lightbox プラグインを利用することにしました。
数あるプラグインの中から選んだ理由は使いたい機能のみのシンプルな構成になっているからです。
プラグインの導入方法は以下のページに記載していますので導入手順は省略します。

参照:WordPressでプラグインの追加方法

拡大イメージのサンプル

[画像クリックで拡大表示]


1.WP jQuery Lightbox プラグインの設定

WordPress管理者でログインして「設定」の「jQuery Lightbox」をクリックします。
画像はデバイスに合わせたサイズで見るほうが使いやすいと考えるので「スクリーンサイズに合わせて画像を縮小」にチェックして「設定保存」をクリックします。


2.拡大画像の設定方法

メディアで追加した画像を選択します。
上側に表示される鉛筆のアイコンをクリックして設定を行います。
※クリックする画像はビジュアルタブを選択すると表示されます。

ここではページに中で表示しているので拡大ではフルサイズで見せたいのでリンク先に「メディアファイル」を選択します。
キャプションにクリックしたら画像拡大しますよと説明文を記述して「更新」ボタンをクリックします。
これで画像クリックされたら画像を登録した時のサイズでポップアップ表示されます。
※登録する画像を分けて見せることもできます。

MySQLの基本的なコマンドの使い方

DOSでMySQLのコマンドをたま~に利用するのでまとめておきます。


1.ログイン

SQLを実行するコマンドプロンプトを使用するために引数にユーザーを指定してログインします。
コマンド:mysql -u DBユーザー名 -p
※rootはMySQLの管理者アカウントです。

使用するDBを指定します。
※指定しないと実行したSQLが「ERROR 1046 (3D000): No database selected」でエラーになります。
コマンド:use DB名;


2.データベース一覧の確認

DBに登録されているデータベース一覧を表示します。

コマンド:SHOW DATABASES;


3.ユーザー一覧の確認

DBに登録されているユーザー一覧を表示します。

コマンド:SELECT Host, User FROM mysql.user;
※rootはMySQLの管理者アカウントです。


4.テーブル一覧の確認

作成されているテーブルの一覧を表示します。

コマンド:show tables;


5.エクスポート/インポート

テキストのSQLが書かれているファイルがエクスポートされます。

コマンド:mysqldump --single-transaction -u DBユーザー名 -p DBパスワード > エクスポートファイル

エクスポートしたファイルを指定ユーザーにインポートします。

コマンド:mysql -uインポート先のDBユーザー名 -pパスワード DB名 < インポートするファイル

これでインポートしたテーブルが作成されています。


6.ユーザー作成/削除と権限付与

新規にDBユーザーを作成します。

コマンド:CREATE USER 作成するDBユーザー名@DB名 IDENTIFIED BY 'DBユーザーのパスワード'


インポートするときに権限が必要になるので付与します。
※付与する権限のあるユーザーでログインしてからGRANTコマンドを実施します。

コマンド:GRANT FILE ON *.* TO 付与するDBユーザー名@DB名

全権限を付与する時のコマンドです。

コマンド:GRANT ALL PRIVILEGES ON *.* TO 付与するDBユーザー名@DB名

指定したDBユーザーを削除します。

コマンド:DROP USER 作成するDBユーザー名@DB名


7.データベース作成/削除

指定したDBデータベースを作成します。

コマンド:CREATE DATABASE 作成するDB名

 

指定したDBデータベースを削除します。

コマンド:DROP DATABASE 作成するDB名

 

Webサイトのエクスポートとローカルへのインポート(バックアップ兼リストア)

WordPresで作成したWebサイトのバックアップ運用手順のまとめになります。
リストアは自分のローカルのPCにWordPressを作成した環境へ行う前提となっています。
未解決課題の内容もあるので詳細は以下を参照してください。

参照:Webサイトのローカルリストア用WordPress環境作成

 

1.WebサイトのWordPressよりブログをバックアップ(エクスポート)

管理者でログインして「ツール」の「エクスポート」をクリックします。
「すべてのコンテンツ」を選択して「エクスポートファイルをダウンロード」ボタンクリックします。
※重要!見たらすぐわかりますがエクスポートされたXMLファイルのサイズは明らかに少なすぎます。
 中身を見ると参照先の情報ばかりに見えます。
 本当の意味えバックアップするのはリストアまでしないと意味がありません。

 

2.ブログをローカルへのインポート(バックアップ兼リストア)

管理者でログインして「ツール」の「インポート」をクリックします。
「インポーターの実行」をクリックします。

エクスポートしたファイルを参照から指定します。
「ファイルをアップロードしてインポート」クリックします。

既存のユーザーへインポートしたいので「あるいは投稿を既存のユーザーに割り当てる」を選択します。
「添付ファイルをダウンロードしてインポートする」をチェックつけます。
「実行」ボタンをクリックします。

「インポートは完了しました。」と表示されれば完了です。