
はじめに
最近Qiitaにもプログラミングネタを中心にコンテンツを少し書いています.
というのもQiitaではユーザ間のやり取りが活発で, コードを書いた際により効率化されたコードを教えてもらえたりってこともあります. あとストックやいいねといったシステムを通して読みてからアクションがあるとやっぱり嬉しくなります.
ただし, このブログもあるのでどう使い分けていくかが問題になるところ. この手の話は既に多くの方が議論されていて, その解決策の1つがWordPressとQiitaの連携プラグインです.
WP-Qiitaのインストール

WP-QiitaはKa2さんが開発された, Qiitaの記事やそのストック数を表示させるWordPressプラグインです.
今回はこのプラグインを導入してみます.
インストール方法は以下の2つ.
- WordPress管理画面からプラグイン→新規追加で「WP-Qiita」で検索&インストール
- GitHubで公開されているコードを導入&WordPressサーバに転送
有効化できればこれでインストールは終わりです.
WP-Qiita有効化時のSyntax error問題
うまくいけばよかったのですが, 僕の環境ではプラグインを有効化した際にエラーがでました.
環境
- Minibird
- PHP ver5.6.22
エラー内容
重大なエラーを引き起こしたため、プラグインを有効化できませんでした。
Parse error: syntax error, unexpected ‘[‘ in ….
原因はPHPの配列の宣言が問題でした.
PHPのVer5.4からは配列を角括弧で宣言できますが, なぜかPHP5.6の環境でその構文でエラーが… そのため配列定義の部分を従来のarray関数に修正しました.
$arr = array(0, 1, 2); // PHP5.3以下の場合
$arr = [0, 1, 2]; // PHP5.4以上だと左の書き方で配列を宣言可能
修正箇所
修正したコードはGitHubにpushしてあります.
修正箇所は以下の4箇所
- lib/core.php 137行目
var_dump([ $response, $url ]);
↓
var_dump( $response, $url );
- lib/main.php 337行目
add_query_arg( ['page' => 'wp-qiita-options'] , admin_url('options-general.php')),
__( 'Settings', $this->domain_name )
↓
add_query_arg(array( 'page' => 'wp-qiita-options') , admin_url('options-general.php')),
__( 'Settings', $this->domain_name )
- lib/main.php 1706行目
if (!in_array(intval($logging_type), [ 0, 1, 3, 4 ]))
↓
if (!in_array(intval($logging_type), array( 0, 1, 3, 4 )))
- templates/wp-qiita-options.php 368行目
<!--?php if (in_array($_local_code, [ 'ja', ])) : ?-->
↓
<!--?php if (in_array($_local_code, array( 'ja', ))): ?-->
これで無事にインストールすることが出来ました.

Simplicityのスクロール追従領域との相性問題
一難去ってまた一難.
WP-Qiitaを有効化してウィジェット内に入れると, Simplicityのスクロール追従ウィジェット機能が動作しないことが分かりました.
恐らくこのページをPCで見ている方はページの右側にこの記事のインデックスが常に固定されていると思いますが, このインデックスを固定している機能です.
この問題に対する解決策はまだ見つけられていません.
終わりに
というわけで, 折角動くようになったWP-Qiitaですが, Simplicityとの相性問題で有効化しないことにしました. WP-Qiitaの中身を調べて時間をかければなんとかなる可能性もありますが, 時間もあまりないのでやめることにします(笑)
PHPは2,3年前に少し使っていたことがありますが, まだまだ不慣れな言語です. 来年度から始まる社会人生活を思うと, プラグイン1つや2つぐらいスパッと開発できるようになりたいものです.
コメント