WordPress NextGen Gallery PHPタグで表示させる方法

カテゴリー : WordPress

投 稿 日 :

更 新 日 :

この記事は書いてから 約2年 経過しています。

※1年以上経過しているので情報が古い可能性があります。

タ  グ  :

WordPress NextGen Gallery PHPタグで表示させる方法

画像系プラグインで有名な NextGen Gallery は主にショートコードで使用することが多いのかと思います。

こんな感じで。

今回、私はショートコードを使用するのではなく

各記事に Advanced Custom Fields でカスタムフィールドを設置
 ↓
設置したカスタムフィールドにID番号だけを入力
 ↓
記事を表示すると入力したIDのギャラリーが自動的に表示される

というシステムにしたかったのですが、日本語の情報は少なく、有っても動かなかったりでしたが、何とかなりました。

ちなみに NextGEN Gallery のバージョンは 2.1.0 を使用。

本記事の投稿時点では最新のバージョンです。

do_shortcode を使うのはどうだろう?

最初に考えたのが

ショートコードが使えるのだから do_shortcode を使えば簡単に実装できるんでは?

ところが

do_shortcode で 記事のカスタムフィールドで設定したID番号を使う方法が良く分かりません。

試してみたのは下記のような方法

カスタムフィールドで設定した nextgen_gallery_number の数値を変数 $my_gallery_number に入れ、do_shortcode で使うという方法なんですが、試してみると

no images were found

となってしまいました。のでボツ。

先人の知恵を借りるも・・・

検索してみると下記のようなコードがフォーラムにありました。

WordPress フォーラム NextGEN Galleryのギャラリー表示について

4年前のフォーラムでしたが、期待をして試してみますと・・・ダメでした。

なんだろう? C_Widget で成功

まずは成功したコードから

※10 は 表示したい枚数。150 は 表示する横幅。100 は 縦幅。

これをテーマ内のギャラリーを表示したい部分に貼れば、ACFで設定したカスタムフィールド(nextgen_gallery_number)に入力した番号のギャラリーが表示されるようになりました。

echo_widget_random となっていますが ランダムでは表示されません。

C_Widget というクラスが設定されていて、それを利用しているのだとは思いますが、詳しくは分からないので勉強します。

下記を参考にしました。

WordPress Support nggDisplayRandomImages does not work in NextGen Gallery 2.0

[PHP] NextGen 2.0 – Pastebin.com

それほど需要は無いのかもしれませんが、誰かの参考になれば幸いです。

コメントを残す

メールアドレスが公開されることはありません。

*