ある固定ページだけに処理する動作を入れたいのですが
プラグインで使ってるクラス内では、is_page()が反応しないような気がしまして、何か他の方法はありますでしょうか?
テンプレートファイルの任意の場所にプラグインのテンプレートタグあるいは実行関数を記述して呼び出す以外に、アクションあるいはフィルターフックを利用する方法があります。
・プラグイン API
http://wpdocs.sourceforge.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API
・プラグインの作成
http://wpdocs.sourceforge.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E4%BD%9C%E6%88%90
・条件分岐タグ
http://wpdocs.sourceforge.jp/%E6%9D%A1%E4%BB%B6%E5%88%86%E5%B2%90%E3%82%BF%E3%82%B0
注: 条件分岐タグが使えるのは WordPress の posts_selection アクションフックの後のみです (wp アクションフックはこれらの条件分岐を使える最初のものです)。テーマの function.php 本文内 (関数の外) では正しく動作しません。
ログインのチェックという事ですので、「wp_head」を使うと良さそうです。(※「wp_head()」によりヘッダーを出力する際に実行されます。)
WordPressのテーマでは、「wp_head()」をheadタグ内で必ず利用するように決められています。(※実行タイミングは異なりますが、「wp_footer()」も同様ですので、フッター出力の際に実行させる場合は「wp_footer」が利用できます。)
・プラグイン API/アクションフック一覧/wp head
http://wpdocs.sourceforge.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API/%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%83%E3%82%AF%E4%B8%80%E8%A6%A7/wp_head
プラグインの作りによっては、クラス内でもテンプレートの条件分岐タグが動作します。
特定のページに何かを出力するプラグインの場合、テンプレートにタグあるいは関数を記述して動作させる物が多いと思います。
例えば「WP SiteManager」プラグインのパンくずナビは、以下の記述を追加して表示させますが、クラス内で条件分岐タグを利用しています。
<?php if ( class_exists( 'WP_SiteManager_bread_crumb' ) ) { WP_SiteManager_bread_crumb::bread_crumb(); } ?>
・パンくずナビの表示
http://www.wp-sitemanager.com/usage/breadcrumb/
※表示機能だけでなくアクセスを記録する場合など、ページアクセスをきっかけに動作するプラグインでしたら、条件分岐タグが利用できると思います。
作成しようとしているプラグインと同じような機能のプラグインのコードを参考にしてみてはいかがでしょう。
頂いたものだと、テンプレートからプラグインの関数を実行することでテンプレートタグを使えるようにしていると思うのですが、如何程でしょうか?
※テンプレートにタグあるいは関数を記述して動作させるプラグインとして「WP SiteManager」を例示しました。
テンプレートタグを使用できるようにするのが目的ではなく、任意の箇所にナビゲーションを表示するのが目的なので、テンプレートファイルに記述する方式なのだと思います。
結果的にプラグインファイル内でテンプレートタグの条件分岐が動作するようになっています。