-
投稿者投稿
-
2019年4月13日 9:57 PM #14011
【お使いの Snow Monkey のバージョン】v5.6.1
【お使いのブラウザ】Safari(もう私の場合は、Safariと思って頂いた方が良いかとw)
【当該サイトのURL】ローカルテスト環境===
カスタマイズしている中で、「未カスタマイズだとこれは使いにくそうかも?」「カスタマイズするのにもっと便利にして欲しい」って所感が有ったんで、要望として記載します。
1. テンプレートのパス指定をルート設定出来たら…と
snow_monkey_member_post_template_pathフックでやると思いますが、
snow_monkey_member_post_template_rootフックみたいなのが無いので、
テーマと違ってテンプレートルートを指定したい + 無いファイルをプラグイン本体から自動で読むようにして欲しい。(地味に、ルート設定は有難い)
ちょっとテーマのテンプレート置換に慣れてると、地味に辛いんで。add_filter( 'snow_monkey_member_post_template_path', function( $_template_path, $_slug ) { $_template_root = untrailingslashit( plugin_dir_path( __FILE__ ) ) . '/template_root'; $_template_file = $_template_root . '/' . $_slug . '.php'; if ( is_file( $_template_file ) ) { return $_template_file; } return $_template_path; }, 10, 2 );
今はこんな感じで読むようにしてるんですが…何かしっくり来ないような気がしてます。
2. やっぱり、テンプレートは上書きしてぇっす…
Member Postのテンプレートってsnow_monkey_get_template_part_template/….で呼ばれないような
(本当は呼べるのかもしれないけど、やり方が悪い?)
\Framework\Helper::get_template_partで取るのは多分それで出来るとは思いますが、1のRootの設定がスムーズに出来るんかなと思って。
と言う事で、公式で上書き可能に対応して欲しいなと思います!(切望3. メッセージの下とかに、ログインフォームを付けるのどうですか?
デフォルトが、「表示は制限されています。このページを表示するにはログインしてください。」のメッセージだけなので、何処からログイン…? って感じがしました。(メッセージの後って隠されるんでフォームをメッセージの前に置くかしないといけないですが、順番的に違和感)
<div class="wpac-alert"> <?php echo wp_kses_post( $message ); echo do_shortcode( '[snow_monkey_member_post_login_form ]' ); ?> </div>
ショートコードを入れて、せっかくだからメッセージ下にログインフォームまで出しちゃっても良いかもしれないなと。どうでしょう?(現在使ってる人に影響出てしまう…?)
4. ログインフォームのプレースホルダ or ラベルでアクセシビリティを
ユーザー名またはメールアドレス とか パスワード って記載が無いので、噂のアクセシビリティ不足…をしてないかなと。(何のフォームなのかアイコンだけで解るかと言う問題)
—
要望とは別ですが、ログインフォームのブロックは、自由度を取ると要らない気もちょっとしました。
ショートコードブロックで埋め込みをする方が、この場合はテンプレートとの絡みが有るので、ログインフォームや登録フォームと言った部分を思い切りカスタマイズ出来る分、自由度が高いな…って感じでした。って所です。
♥ 0いいねをした人: 居ません2019年4月13日 10:54 PM #14012後1つだけ、葉月さんの方で気になったらしいので、それも記載します。
登録フォームには、登録していない人が使用されることを想定されるので
「パスワードをお忘れですか?」のリンクは不要ではないでしょうか?
パスワードの入力ボックスがない事もあり「パスワード?」と言う誤解を招くかもしれないのも1つの理由です。って事です。ご検討お願いしま。
♥ 0いいねをした人: 居ません2019年4月14日 10:36 PM #14046あれ?トピックの編集機能が無くなってる…??
編集がないので、返信の形にて。
snow_monkey_member_post_template_pathを使えば
contentディレクトリ内のmessage.phpなどはファイルを別に読ませる事で書き換えられてはいるんですが、
shortcodeディレクトリのlogin-formとかは、上手く切り替わらないので、
フックを掛けるタイミングが、ショートコードって言う仕様から違うのか調べてます。
上書きがうまく出来てない問題もあって、ログインフォームとかってこの際どうやってデザイン変えるんだろうって言う質問が出ましたが、とりあえず、こちらのトピックにて。プラグインのphpを直接変えれば全て色々変更とか出来ますが、それだとアップデートのたびに戻ってしまう問題もあるので、プラグインでテーマみたいに上書きとか出来ないかと。
ちょっとこちらの使い方の問題がありそうなので、もう少し調べてみます。
すんません。♥ 0いいねをした人: 居ません2019年4月15日 12:04 PM #140841. テンプレートのパス指定をルート設定出来たら…と
なるほどです。
snow_monkey_member_post_template_path
はテンプレートのルートディレクトリを指定するものではなく、「そのテンプレート自体のパス」を差し替えるものなので、下記のような操作を想定していました。add_filter( 'snow_monkey_member_post_template_path', function( $_template_path, $_slug ) { if ( 'content/allowed/index' === $_slug ) { $_template_root = untrailingslashit( plugin_dir_path( __FILE__ ) ) . '/template_root'; return $_template_root . '/' . $_slug . '.php'; } return $_template_path; }, 10, 2 );
つまり、テンプレートごとにパスを変更するためのもの、ということですね。テーマと違ってごそっとルートディレクトリを変えたいということはあまりないと今の実装にしていますが、もし上の想定のコードでは不足でやっぱりルートディレクトリを指定したいということであれば、フックを追加する方向で考えてみます。
2. やっぱり、テンプレートは上書きしてぇっす…
Member Post のテンプレートの呼び出しは
\Framework\Helper::get_template_part
は使っていないのでsnow_monkey_get_template_part_xxx
フックは使えないです。\Framework\Helper::get_template_part
は基本テーマディレクトリ内のファイルを読み込むためのものなので、Member Post のテンプレート呼び出しの用途にはマッチしないんです。なので、1 で解決するのがスマートですね。3. メッセージの下とかに、ログインフォームを付けるのどうですか?
うーん、これはちょっとどうでしょう…。Member Post は、メインの用途は「コンテンツの閲覧をログインユーザーに制限する」というところなんです。ショートコードでログインフォーム、登録フォームをだせるというのはあくまでオマケ機能で、使いたい人が使うという想定です。なので強制的にだしてしまうと、使いたくないという人には微妙になっちゃうと思うんですよね。
snow_monkey_member_post_restricted_content_message
というメッセージをカスタマイズするフックがあるので、ここにショートコード突っ込むとどうですかね?4. ログインフォームのプレースホルダ or ラベルでアクセシビリティを
ここは非常に迷ったんですよね…。文字として表示すると結構大きさとっちゃうので、いろいろな Web サービスのログイン画面や登録画面を参考にして今の形にまとめたという経緯があります。一応 title 属性で指定はしてて、svg に変換後は svg の title 属性としてタイトルが保持されるみたいです。
登録フォームには、登録していない人が使用されることを想定されるので「パスワードをお忘れですか?」のリンクは不要ではないでしょうか?
これは完全にミスですね^^; 消します!
あれ?トピックの編集機能が無くなってる…??
あれ!ほんとですね、なんでだ…
追記)どうも5分たつと自動的に編集不可になるみたいですね。♥ 0いいねをした人: 居ません2019年4月15日 12:43 PM #14089「そのテンプレート自体のパス」を差し替えるもの
ありゃ、また使い方を誤ってたようで…orz
ゴソッと変えると言うより、わざわざslugで判定するよりもファイルが有ればそれを使う、無ければプラグインの本来のファイルを読むって言うテーマのrootの感覚の方が楽だなと。
rootディレクトリにファイルを入れるだけなんで、やっぱりこのslugのも上書きしたいって言う時に後から追加してもコード弄らなくて良いなと。\Framework\Helper::get_template_part は基本テーマディレクトリ内のファイルを読み込むためのもの
なるほど。基本テーマ外のマッチはやると大変そうなんで1の方法で上書きする形で使います。
しかし、shortcodeディレクトリの中のテンプレートの指定だけsnow_monkey_member_post_template_pathでどうも上手くいかないみたいなので、
それだけ何とか出来たらなと思います。Member Post は、メインの用途は「コンテンツの閲覧をログインユーザーに制限する」
あー、なるほど。
制限した上でユーザー登録の導線も作ってユーザーを増やそう!ってことまで考えてしまってました…。
そして、オマケがオマケじゃないくらい便利なんですけど(笑)一応 title 属性で指定はしてて、svg に変換後は svg の title 属性としてタイトルが保持されるみたいです。
あ、そんな所に指定されてたとは…。これならCSSかjs使えばタイトルを別枠に出せそうなんで、それでやります。
5分たつと自動的に編集不可
そんな仕様が…。また一つ勉強になりました。有難うございます。
商品ページ(https://snow-monkey.2inc.org/product/snow-monkey-member-post/)のスクリーンショットだと「表示は制限されています…ログイン」のログインってリンクっぽいですが、これ今のバージョンだとリンクになっていない感じなので、それも不具合で有れば修正頼みますー。
(多分、redirect先をどうするのか問題とかで、リンクやめた気もしましたが)♥ 0いいねをした人: 居ません2019年4月15日 1:12 PM #14091わざわざslugで判定するよりもファイルが有ればそれを使う、無ければプラグインの本来のファイルを読むって言うテーマのrootの感覚の方が楽だなと。
ではルートディレクトリの変更機能もつける方向でちょっとみてみます。
しかし、shortcodeディレクトリの中のテンプレートの指定だけsnow_monkey_member_post_template_pathでどうも上手くいかないみたいなので、
うーん、なんででしょうね。
snow_monkey_member_post_template_path
にフックさせた関数って、どのタイミング(フックポイント)で実行されてます?商品ページ(https://snow-monkey.2inc.org/product/snow-monkey-member-post/)のスクリーンショットだと「表示は制限されています…ログイン」のログインってリンクっぽいですが、これ今のバージョンだとリンクになっていない感じなので、それも不具合で有れば修正頼みますー。
(多分、redirect先をどうするのか問題とかで、リンクやめた気もしましたが)まさにそうで、標準のログイン画面を隠匿したいという人もいると思うので、やりたい人はフックで調整してね、ということでこうしたのだと思います(はっきりと覚えてない…)。
♥ 0いいねをした人: 居ません2019年4月15日 1:50 PM #14098ではルートディレクトリの変更機能もつける方向でちょっとみてみます。
お手数ですが、時間ある時にでもお願いします。
(一応、上記のisfileで分けての実装はしてますので、急がなくても大丈夫です)どのタイミング(フックポイント)で実行されてます?
plugin_loaded
の所にsnow_monkey_member_post_template_path
を実行する形で、そこだけmy-snow-monkeyにそれだけ書く形で再度試してみました…。
何故かそっちだと上手くいったので、調べてみました。
snow_monkey_member_post_template_path
の優先度と、テーマ側のフックでのroot設定を同時にやっていた事、優先度などの処理問題だったっぽいです。(多分、複数使うと正しくパスが見られなくなるか何かが起こったのかと)
完全に、こちらのミスです。すみません……。はっきりと覚えてない…
それは…(泣)Snow Monkeyだけは…制作者も解らない状態化しないよう、願いますorz
♥ 0いいねをした人: 居ません2019年5月7日 3:53 PM #15146フック追加してみましたがどうでしょう?
/** * @param array $hierarchy * @param string $slug * @param string $name * @param array $vars * @return array */ add_filter( 'snow_monkey_member_post_view_hierarchy', function( $hierarchy, $slug, $name, $vars ) { return $hierarchy; }, 10, 4 );
問題なさそうならクローズしますー
♥ 0いいねをした人: 居ません2019年5月7日 7:06 PM #15173有難うございます。問題なさそうです!
かなり良い感じにプラグインでもテンプレートを変更出来るようになったので助かります。♥ 0いいねをした人: 居ません -
投稿者投稿
- トピック「Member Postに関する要望」には新しい返信をつけることはできません。