フォーラムへの返信
-
投稿者投稿
-
ブログカードは JavaScript で URL を変換して表示するのですが、AMP 上では JavaScript が動かせないので URL のままになってしまいますね…。
AMP は結構制限がきつくてデザインも全部は反映できないので、AMP 対応は必要最低限の対応までとして半ば諦め気味です…^^;
♥ 0Who liked: No userケミさん検証すごい!
kuro81さん、ケミさんが検証してくださったように、ハードルはかなり高いです。一応、デバイスごとにだし分けたいということであれば、別の方法としてカスタム CSS クラスを使う方法があります。Snow Monkey は Basis という CSS フレームワークを使っているので、Basis がもっているクラスを使うことで似たようなことができます。
ブロックを選択 > 高度な設定 > カスタム CSS クラスのところに、例えば
u-hidden-smと書けばスマホのときだけ消えます。♥ 0Who liked: No user解決できてよかったです!トピック閉じます。
♥ 0Who liked: No userうーん、
プロフィールページ(https://41bengo.com/profile)の本文が、丸々お問い合わせページに変わっていました。
プロフィールの本文が消えてしまいました。。。と
そして、https://41bengo.com/testpageのページを開きますと、https://41bengo.com/contactのページに切り替わってしまいます。。
は同じ現象を指していますでしょうか?それとも、前者は「ページの切り替わり」ではなく「本文が変わってしまう」という別々の問題でしょうか?
もし同じ現象を指しているとしたら、MW WP Form のフォーム編集画面で、URL の設定がされているのだろうと思います。入力画面などの URL を強制的に指定している、ということですね。URL 設定を消せばどのページに貼り付けても正しく動くようになります。
♥ 0Who liked: No user解決できてよかったです^^
閉じます!♥ 0Who liked: No userテストページありがとうございます!
CSS を下記のように変更してみてください。
#snow_monkey_blocks_recent_posts-pickupの後の.snow-monkey-recent-postsが不要でした。@media (min-width: 64em) { #snow_monkey_blocks_recent_posts-pickup .c-entries__item:last-child { display: none; } }♥ 0Who liked: No userわざわざ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 user -
投稿者投稿

