フォーラムへの返信
-
投稿者投稿
-
わざわざ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先をどうするのか問題とかで、リンクやめた気もしましたが)まさにそうで、標準のログイン画面を隠匿したいという人もいると思うので、やりたい人はフックで調整してね、ということでこうしたのだと思います(はっきりと覚えてない…)。
♥ 0Who liked: No user1. テンプレートのパス指定をルート設定出来たら…と
なるほどです。
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分たつと自動的に編集不可になるみたいですね。♥ 0Who liked: No userクラシックブロック内だと大丈夫、という状態なんですかね、うーん。。。
こちらの2つの環境でブロックでテストしてみましたが再現できませんでした。ちょっとさっぱり原因が思いつきませんので、お手数おかけして申し訳ないのですが、下記2点をよろしいでしょうか。
– 有効化しているプラグインを教えてください。
– 既存のページで試すと問題があると思うので、テスト的にブロックでつくったページを作り、フォームを設置して、そのページの URL を教えてください。♥ 0Who liked: No userCSS の問題は実際の画面をみるのがはやいのですが、URL を教えてもらうことは可能でしょうか?
♥ 0Who liked: No user単純に
tax_queryでタクソノミーとタームIDだけ指定するようにしていたのですが、それだと WordPress の仕様ではそのような動作になるのでしょうね…。子カテゴリがある場合はそれらもtax_queryに渡せるように調整してみます。♥ 0Who liked: No userセクション内の「文字入力、または/ブロックで追加」をまずクリックし、そのあと、追加ボタンの+をクリックすると、セクション内に問題なくブロックが追加されます。
あーなるほど!確かに一旦クリックしてからでないと + ボタンで挿入される位置がおかしいですね。ブロックエディター標準のブロックでもそのようになるので、ブロックエディター側の不具合だと思います。なので、WordPress のアップデートでそのうち解決するのではないかなと…。
私も、テーマ移行・ブロックエディターへの移行、そしてショートコード修正で3週間ほど使ってみて、ようやくブロックエディターを使いこなせるようになってきました。
それは良かったです!
とりあえず解決済みということで、トピック閉じますね。
♥ 0Who liked: No userHabakiri と同じ方法で可能です!
♥ 0Who liked: No userを見ると、フォームの上に枠で囲まれた文章が表示されていますが、これはこのページの編集画面に入力されたものですよね?もしそうなら、プロフィール画面も同じ理屈で文章の下にフォームを設置できるはずです。
ちょっとなぜでないのかはまだ想像がついていませんが、プロフィールページ(or 固定ページ)まわりについて、子テーマでテンプレートの上書きをされてたりしますでしょうか?
また、「はじめての方へ」など、プロフィールページ以外にフォームを設置した場合もページの文章が消えてフォームだけになる現象が発生しますか?
♥ 0Who liked: No userあー、表側とエディタ側で横位置指定のためのクラスの付き方が違うということですね。うーん、それはそれで二重管理がめんどくさくはありますが、仕組み的にはこれが標準なわけで、
BlockAlignmentToolbarでやると後でわかりにくくなるようなきもしますね…。プルリクありがとうございます、とりあえずそれはマージします!♥ 0Who liked: No userSnow Monkey Blocks v3.5.0 で追加しました〜
♥ 0Who liked: No userタイプ → 大きさ
と項目名を変えれば、解決だよねーと。(項目変更は、葉月さん案なるほど!ちょっとその方向でやってみます。
♥ 0Who liked: No userとりあえずダッシュボードからはできたということで良かったです!
でもなぜ管理バーにでないのかは謎ですね…。ダッシュボードからはできたということは、カスタマイズの権限自体が消されているわけではないと思いますので、管理バーのカスタマイズをするプラグインを使ったりコードを書いたりしているとか、何らかのプラグインが管理バーをカスタマイズしちゃってる、とかはあるかもしれません。♥ 0Who liked: No userv5 で、one-column-fluid、blank-fluid テンプレートを削除したので、もしかしたらそのどちらかを使われていたのかもしれません…。テンプレートの廃止は滅多にすることではないので、多分もう大丈夫だと思います。現状廃止の予定はありませんが、また廃止や変更がありそうな場合はオンラインコミュニティやブログでお知らせしますね。
♥ 0Who liked: No userうぉ…!ご迷惑おかけしてすみません…。ちょっとパッとは原因がわからないので、いくつか思いつくことを書きます。
– 子テーマで
singular.php、もしくはpage.phpを上書きしている場合は、v5 のテンプレートに合わせて上書きし直してください。
– 子テーマにsingular.php、page.phpをつくっていない場合は、snow-monkey/singular.phpの中にvar_dump( get_theme_mod( 'singular-post-layout' ) );と書いてみて、どのレイアウトファイルが使用されているか確認してみてください。
– カスタマイザー > レイアウト > ページレイアウトで適当なテンプレートを選んで再保存してみてください(ここで選んだものがデフォルトテンプレートになります)♥ 0Who liked: No user@ケミさん
コレ、Snow Monkey Blocksのボタンにスタイル選択を追加する形で良いっすよね?
や、Snow Monkey Blocks のボタンはスタイルじゃなくて、「タイプ」っていう独自のデザイン切り替えをつくっちゃってるんですよね。スタイル選択ができることを知る前につくっちゃったんで…。

@kutsuさん
多分できると思うのでタスクに入れときます!
♥ 0Who liked: No user -
投稿者投稿


