プラグイン無しの自作ページャー(ページネーション)を初心者が設置しようとした話

パソコンの画像
プラグイン無しのページャー

プラグイン無しで自作ページャーを設置するために学んだ事

結論から言うと、コチラ(https://wemo.tech/978)の記事を参考にページャーを設置しています

PHP、WordPress初心者には難解な部分がありましたので、わからないところをいくつかググりましたので、詳細を記載します。

PHPの三項演算子

変数の型を変える方法も初めて見ましたが、三項演算子を実際に使うのも初めてでした。

$paged = $paged ?: 1;

上記の三項演算子は更に普通の三項演算子よりもレベルが高いもので驚きました。最初の変数「$paged」に、次の変数「$paged」が真偽かを見極める指示を出して真の場合は「$paged」をそのまま代入、偽の場合は「1」を代入するというもの。javascriptではエラーになる記述法です。

このサイトを参考にしました。更に特殊な三項演算子をたくさん紹介しています。

function_exists関数

この関数は、指定した関数が定義済みかどうかを確認します。

if ( function_exists( 'pagination' ) ) :

「pagenation」が定義済みであれば真なのでif文が以下が実行されることになります。

循環的複雑度

コードの中にif/else・for文・switch文などの分岐がいくつ含まれているかを計算する。この度数が高いとコードが読みにくくよくないよね、ということらしい。コチラの記事を参考にしました。

The method pagination has a boolean flag argument $show_only, which is a certain sign of a Single Responsibility Principle violation.

NPath

これは循環的複雑度と似たようなものだと認識しました。コチラの記事を参考にしました。

The function pagination() has an NPath complexity of 972. The configured NPath complexity threshold is 200.

ページャーの現状

コピペ段階で、正常に動作しています。しかし、コードの改善をしておいた方が後々役立ちそうです。まだ改善方法がわかっていないのでそのままです。

この記事を書いた人

小幡 知弘

1990年茨城県神栖市生まれ
2013年大阪芸術大学卒業
Python×Webエンジニア