フォーラムへの返信
-
投稿者投稿
-
と、書き込んですぐすみません、Form Design Patterns という本をみてたら「ラジオボタンやチェックボックス以外のところを fieldset と legend で囲むのは仕様上は問題ないけどくどいのでやめたほうが良い」と書いてありました。
ということは、
お名前 [ ] Snow Monkey が好きですか の方式にして、右側の「Snow Monkey が好きですか」は管理画面上では設定できるけど、実際の画面では見えなくする、みたいな形のほうが良いのかなぁという気もしてきました。右側には複数個のコントロールを入れられるし、後方互換性も気にしなくて済むので。もうちょっと考えてみます…。
時間あいちゃってすみません! あまり詳しくなかったのでいろいろ調べてみたところ、
legend
はfieldset
の最初の子要素でないといけない等ルールがあるみたいだったので、一応下記のような感じで変更を入れようかなと考えているところです。<div class="wp-block-snow-monkey-forms-item smf-item"> <fieldset> <legend class="smf-item__col smf-item__col--label"> <span class="smf-item__label"> <span class="smf-item__label__text">ここにラベル</span> </span> </legend> <div class="smf-item__col smf-item__col--controls"> <div class="smf-item__controls"> <div class="smf-placeholder"> ここにフォームコントロール... </div> </div> </div> </fieldset> </div>
1つ案としては、JSの制御を廃止して、ページトップボタンは基本固定配置。
フッター固定ナビゲーションがある場合は、重なり防止のためにページトップボタンの位置を高めに設定しておく。
フッター固定ナビゲーションを任意で高くする場合は、個人でCSSでボタンの位置を調整する。
というのもありかなと思っています。フッター固定ナビゲーション(と、あとアドオンのフッター CTA)の高さはユーザーさんが入れる内容によって高さが変わるので px 固定にはできなくて、js で都度合わせるしか無い(多分)んですよね。今は毎ms常に再描画するのは負荷があれかなと思って、適当に間引いて処理しているので、それをなくせばもっとスムーズにはなるかもしれません。そのあたりは今度のアップデートのときにでも改めて確認してみますね。
♥ 0Who liked: No userCSS に全角スペースが混ざっていないですかね?
♥ 0Who liked: No user「snow_monkey_after_archive_entry_content」の説明ブロックのコード中、フック名が違っているようです。
ありがとうございます!修正しました!
すみません、上記コメントにソースコードを挿入したかったのですが、入力して保存すると以下のエラーが表示されて登録できませんでした。
このサイトはエックスサーバーでホストされているのですが、何らかの条件のときにエックスサーバーのファイアウォールで投稿がブロックされてしまうみたいなんです…。僕がよく試すのは、コードを
<pre>〜</pre>
や<pre><code>〜</code></pre>
で囲ってみる、それでだめならスクショをとって画像として貼り付ける、という感じです…。Snow Monkey の独自フックは、なるべく統一された方法で、アップデート時のメンテナンスを最小限に抑えられたら良いなということで用意しているものなので、無理に覚えずに WordPress 本来の方法でやっても良いと思います。今回の場合なら
pre_get_posts
フィルターフックでクエリを改変し、子テーマからのテンプレートの上書きで表示を書き換え、excerpt_length
フィルターフックで抜粋の文字数を調整という感じでしょうか。解決済みということで、トピックのクローズをお願いします!
♥ 0Who liked: No usersnow_monkey_get_template_part_args_template-parts/widget/snow-monkey-posts
フィルターフックはウィジェットとブロックにしか効きません。一覧ページの記事一覧部分は、ウィジェットでもブロックでもないため、別のフックで書き換える必要があります。下記試してみてください。
add_filter( 'snow_monkey_get_template_part_args_template-parts/common/entries/entries', function( $args ) { // 一覧のとき if ( 'archive' === $args['vars']['_context'] ) { // レイアウトが「パネル」のとき if ( 'panel' === $args['vars']['_entries_layout'] ) { // 抜粋の表示を有効化 $args['vars']['_display_item_excerpt'] = true; // 抜粋の文字数を変更 $args['vars']['_excerpt_length'] = 30; // 任意の数値を設定してください // 表示件数を変更 $args['vars']['_posts_query']->set( 'posts_per_page', 30 ); // 並び順を変更 $args['vars']['_posts_query']->set( 'orderby', 'title' ); $args['vars']['_posts_query']->set( 'order', 'ASC' ); // セットしたクエリーをもとに WP_Query をリセット $args['vars']['_posts_query']->query( $args['vars']['_posts_query']->query_vars ); } } return $args; } );
♥ 0Who liked: No usersnow_monkey_font_family_settings
というフィルターフックがあります。これでフォントを追加すると、カスタマイザーで選択できるフォントが増えたり、@font-face
で出力されるフォントが増えます。サンプルコードは下記の記事を見てみてください。
条件と、どのようにオリジナルフォントを適用したいのかによって変わってくる部分もあるのかなと思いますが、
@font-face
で出力されてもfont-family
を適用しないとフォントファイルはロードされなかったと思うので、とりあえず上記のフックでフォントを追加して、適用したい部分に対して CSS でfont-family
を上書きすると良い気がします。改めてコードを読み直してみたところ、僕の認識間違いがありました!
デフォルトは
calc(env(safe-area-inset-bottom) + 49px)
なのですが、ご指摘の通り、フッター固定ナビゲーションに被らないようにするために js でフッター固定ナビゲーションの高さを取得してbottom
を随時更新するようになっていました。js でやっているのはフッター固定ナビゲーションの内容はユーザーが任意で入れるもので、こちらでは高さがどれくらいになるかわからないためなので、フッター固定ナビゲーションの高さを測って、追加 CSS で
bottom
を固定指定しちゃうのはどうでしょうか。#page-top { bottom: 78px !important; }
みたいな。
♥ 0Who liked: No userそれと
$args['vars']['_posts_query']->query( $args['vars']['_posts_query']->query_vars );
が重要でした。
解決済みということで、トピックのクローズをお願いします!
♥ 0Who liked: No usersnow_monkey_forms/administrator_mailer/args
は第3引数に$setting
というオブジェクトが入っていて、$setting->get( 'form_id' )
でフォームの id が取得できたと思うので試してみてください!♥ 0Who liked: No userSnow Monkey Blocks のタクソノミーブロックでは難しいと思います。コアのカテゴリー一覧ブロックが出力的には良さそうなのですが、「カテゴリー」しか対応していないのでこちらもダメそう…。
検索したら下記のプラグインがでてきました。僕は全く触ったことがないのでどういう出力になるのかもわかっていないのですが、試してみると良いかもしれません。
♥ 0Who liked: No useriPhone にはセーフエリアというものがあり、目には見えていないけどそこをタップするとブラウザのメニューが開いたりするというエリアです。そのセーフエリアの範囲は
env(safe-area-inset-bottom)
という変数で取得できるようになっていて、ちゃんとページトップへ戻るボタンがタップできるようにcalc(env(safe-area-inset-bottom) + 49px)!important;
を付与しています。セーフエリアはスクロールの状況によって範囲が変わるのでボタンの位置が変わってしまうんですよね。僕も動かないほうが良いとは思っているのですが、iPhone ややこしいです…。
♥ 0Who liked: No user実際に見てみないとわからないかなと思うので、ページの URL をここで共有してもらうことはできますか?
♥ 0Who liked: No user -
投稿者投稿