フォーラムへの返信
-
投稿者投稿
-
システム的にはそのような機能が用意できていないので、こちらからお送りします。
お問い合わせフォームかオンラインコミュニティの DM で、Snow Monkey Archive Content を購入したときの注文番号を送ってください!
♥ 0Who liked: No userこのサイトはエックスサーバーですが、ブログを書いたりフォーラムの返信をしようとすると、ちょいちょい WAF に引っかかってしまうことがあります。サポートに相談したこともありますが、こちら側で調整することはできなさそうでした(そもそも外からは WAF が何を条件にしているのかがわからない)。
どこの WAF かは忘れましたが、ブログにシェルコマンドや PHP のサンプルを書いたりするだけでもブロックされた、という書き込みもみたことがあるので、なんらかのテキストでブロックされている可能性もあるのかなと思います。
いずれにしろ、具体的にどこが問題でどう変更すれば良いのかがわからないと、ちょっと難しいです…。
すみません、改良してみましたがどうでしょうか?
add_filter( 'snow_monkey_get_template_part_args', function( $args ) { // 記事一覧カテゴリー以外のテンプレートの場合は無視 if ( 'template-parts/loop/entry-summary/term/term' !== $args['slug'] ) { return $args; } // 投稿以外の場合は無視 if ( 'post' !== $args['name'] ) { return $args; } if ( 'category' !== $args['vars']['_terms'][0]->taxonomy ?? null ) { return $args; } // 全ての設定されたカテゴリーを返す $raw_terms = get_the_terms( get_the_ID(), 'category' ); // 並び順指定用の配列を用意 $sorted_terms = array( "category-17" => null, 'category-slug-2' => null, 'category-slug-4' => null, ); // 並び順を反映させた配列を生成 foreach ( $raw_terms as $raw_term ) { $sorted_terms[ $raw_term->slug ] = $raw_term; } $args['vars']['_terms'] = array_filter( $sorted_terms, function( $value ) { return is_object( $value ); } ); return $args; } );
が、これ
$sorted_terms
に全部のタームのスラッグを記述しないといけないのがメンテナブルではないなぁという気がします。なのでタームの並び順を指定できるプラグインを試してみるのも手かなぁと思いました。
※しばらく開発されていないみたいなので積極的に採用して良いのかは微妙かもですが…
♥ 0Who liked: No usersnow_monkey_search_pre_get_posts
というフックがありますが、それを使ってみるとどうですかね?♥ 0Who liked: No user情報ありがとうございます。「項目(ブロックリンク)」だと Snow Monkey Blocks ですね。v16.0.3 だと3年近く前のバージョンになるので、その当時にはバグがあったのかもしれませんし(詳しく覚えておらずすみません…)、例えばもっと古いバージョンから最新のバージョンに一気にアップデートした場合にも発生してしまうことがあるかもしれません。
※「このブロックには、想定されていないか無効なコンテンツが含まれています。」は保存されている HTML が、ブロックが本来出力する HTML と異なる場合に、解析に失敗することで発生するエラーです。
v16.0.3 から一気に最新バージョンにアップデートするのもこわいので、入れ直してエラーが解消し、もう再現しないのであれば、基本的には大丈夫だろうと思います。
テストと検証の時間が確保できるのであれば、最新版にアップデートすることを推奨します(機能追加だけではなく、セキュリティの対応や不具合の修正もアップデートで対応しているため)。
♥ 0Who liked: No userこれはコアのボタンブロックでしょうか?
あと、
textContent
というのは、「ボタン」と表示されている部分の文字列のことを指していますか?
それとも JS で Node の textContent を操作していたりすることを指していますか?また、可能であればそのページの URL(管理画面ではなく実際のページ)を教えていただくことは可能ですか?
♥ 0Who liked: No userその問題がどのように発生したかによります。
普通に操作した瞬間や、編集画面を開いた瞬間にそうなったのであれば WordPress や Snow Monkey、あるいは何らかのプラグインやカスタマイズの不具合の可能性があります。
コードエディターで編集して発生したのであれば WordPress(ブロック)の仕様の可能性が高いです。
「このブロックには、想定されていないか無効なコンテンツが含まれています。」が発生したシチュエーションを具体的に教えてください!
♥ 0Who liked: No userSnow Monkey Blocks の「セクション(背景画像/動画)」ブロックかコアの「カバー」ブロックを挿入してそれに動画を設定するとどうですかね?
♥ 0Who liked: No userこちらですが、該当のテンプレート(ファイル?でしょうか)箇所をお教えいただき、
ファイル的には下記になります。
– snow-monkey/src/js/drop-nav.js
– snow-monkey/template-parts/nav/drop.php素人考えかもしれませんが、モバイル表示のトップページのみですので、もともと表示されるものはCSSで非表示にし、
ページ内のセクションに固定メニューのHTML要素をコピーしたものを入れ(別のクラスまたはIDを付与し)、JavaScriptで制御する……みたいなやり方で実現実現出来ないか、と考えたのですが、難しいでしょうか。そのほうがリスクは少ない気がします。
あるいは、
snow-monkey/src/js/drop-nav.js
をdequeue
して、似た処理を独自に書くかですね。それなら HTML のほうはそのままのテンプレートを使いまわせるかなと思います。ありがとうございます。
Mac の Chrome と iPhone で確認したところ、どちらでも非表示になっていました。
.sme-hidden-sm
というクラスが追加され、スマホサイズではdisplay: none
になります。
Chrome のデベロッパーツールでセクションを選択して、クラスとスタイルが適用されているか確認してみてください。♥ 0Who liked: No userこちらの環境でシンプルなセクションブロックに「スマートフォンサイズで非表示」したところ、正しく動作しました。
なので別の CSS が干渉しているのかもしれません。ページの URL を共有してもらうことは可能ですか?♥ 0Who liked: No userフレックスボックスじゃないから
order
が効かないのかもしれません。PHP で、$args['vars']['_terms']
に格納した順番のまま画面に出力されるので、そこで調整すると良いかもです。下記のように書き換えてみるとどうでしょうか?
add_filter( 'snow_monkey_get_template_part_args', function( $args ) { // 記事一覧カテゴリー以外のテンプレートの場合は無視 if ( 'template-parts/loop/entry-summary/term/term' !== $args['slug'] ) { return $args; } // 投稿以外の場合は無視 if ( 'post' !== $args['name'] ) { return $args; } // 全ての設定されたカテゴリーを返す $raw_terms = get_the_terms( get_the_ID(), 'category' ); // 並び順指定用の配列を用意 $sorted_terms = array( 'category-17', // 1番目に表示したいタームのスラッグ 'category-slug-2', // 2番目に表示したいタームのスラッグ 'category-slug-4', // 3番目に表示したいタームのスラッグ ); // 並び順を反映させた配列を生成 foreach ( $raw_terms as $raw_term ) { $sorted_terms[ $raw_term->slug ] = $raw_term; } $args['vars']['_terms'] = $sorted_terms; return $args; } );
♥ 0Who liked: No user詳しくありがとうございます!
どちらも「段落」ブロックのようなので、HTML を直接書き換えることで下線を引くことは可能です。
– 編集画面右上の3点ボタンをクリック
– でてきたポップオーバーメニューから「コードエディター」をクリック– 下線を引きたい部分を
<span style="text-decoration: underline">
と</span>
で囲む<!-- wp:paragraph --> <p>砂の星:夜の砂漠に、星が静かに降りそそぐ。<span style="text-decoration: underline">風が吹くたび、砂がきらめき、小さな光の波が生まれる</span>。月の光はやさしく、どこまでも広がっていく。誰もいない夜、砂と星だけが、静かに時間を刻んでいた。</p> <!-- /wp:paragraph -->
これでできると思いますが、個人的には
– HTML を直接書き換えるのはブロックを壊してしまうリスクがある
– 下線は一般的には「リンクテキスト」を表すものなので、リンクと勘違いさせてユーザーにストレスを与える可能性があるという理由から、下線ではない方法で強調するほうが良いのではないかなと思いました。
例えば、Snow Monkey Editor プラグインをインストールすれば、任意のテキストに「蛍光ペン」を引けるので、そういうのを使うという手もあるかなと思います。
参考:
♥ 0Who liked: No user使っているブロックによって設定パネルで設定可能か、あるいは CSS を書く必要があるのか、など違ってくるので、具体的にどの部分に下線を引きたいのかを教えてください。
対象部分があるページの URL と、具体的な場所(可能であればスクショして指示を書き込んでいただけると尚わかりやすいです)を教えてください!
♥ 0Who liked: No user -
投稿者投稿