フォーラムへの返信
-
投稿者投稿
-
has_category( 'demae', $post )
となっていますが$post
が存在しないためエラーがでちゃうのではないかなと思います。global $post
を入れて、グローバル変数の$post
を参照するとどうでしょうか?add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/', function( $html ) { global $post; if ( has_category( 'demae', $post ) ) { $html = str_replace( '<a', '<a target="_blank" rel="noreferrer noopener"', $html ); } return $html; } );
もし「記事に飛ぶリンクを新規ウィンドウで開きたい」であれば、
snow_monkey_template_part_render_template-parts/loop/entry-summary
フックによるカスタマイズで大丈夫なはずです。ただし、
if ( is_category( 'demae' ) || is_category( 'information' ) ) {
が問題になると思います。これは今「
demae
カテゴリーアーカイブページを表示している」か「information
カテゴリーアーカイブページを表示している」場合にのみ実行されるので、任意のタクソノミー投稿ブロックが固定ページに設置されている場合は実行されません。♥ 0Who liked: No usertemplate-parts/loop/entry-summary/term/term
だとカテゴリーラベル(カテゴリー名が表示されてクリックするとカテゴリーアーカイブに飛ぶリンクの部分)のテンプレートパーツになりますが、新規ウィンドウで開きたいリンクはその部分という認識であっていますか?それとも記事に飛ぶリンクを新規ウィンドウで開きたい感じでしょうか?♥ 0Who liked: No userこれですかね?
エラー画面ありがとうございます。
ちなみにACFを有効化していると、標準のカスタムフィールドは使えないのでしょうか?
ACF の仕様は僕も詳しくないのでわかりませんが、無効化したら表示されるということであればそういう仕様なのかもしれません。
もし ACF にもカスタムフィールドの値を表示するブロックが用意されているのであれば、それを使うのが一番スマートだと思います。(Pro 版であればオリジナルのブロックがつくれるみたいですが…)
♥ 0Who liked: No userSnow Monkey Blocks のカスタムフィールドブロックは、WordPress 標準のカスタムフィールドのデータ構造に対応していますが、ACF は独自のデータ構造になる場合があり、それには対応していません。
とはいえエラーで処理が止まってしまうのはまずいので、止まってしまわないようにはしたいなと思います。
もしエラーメッセージがわかるようであれば教えてください。
♥ 0Who liked: No userあ、
global
を宣言しないとダメかもです。add_action( 'after_setup_theme', // あるいは plugins_loaded function () { global $siteguard_captcha; if ( isset( $siteguard_captcha ) ) { add_filter( 'woocommerce_login_form_start', [ $siteguard_captcha, 'handler_login_form' ] ); add_filter( 'woocommerce_register_form_start', [ $siteguard_captcha, 'handler_register_form' ] ); add_filter( 'woocommerce_lostpassword_form', [ $siteguard_captcha, 'handler_lostpassword_form' ] ); } } );
♥ 0Who liked: No userSnow Monkey Blocks だけでは実現できないデザインに見えるので、カラムブロック + CSS を使ってやってみました。
カラム(親)に
application-flow
という CSS クラスを設定。
カラム(子)に枠線とパディングを設定。
下記の CSS を追加。.application-flow > .wp-block-column { position: relative; } .application-flow > .wp-block-column::before { position: absolute; inset: -30px auto auto -30px; display: grid; place-content: center; background-color: pink; border-radius: 100%; color: white; aspect-ratio: 1; padding: 10px; } .application-flow > .wp-block-column:nth-child(1)::before { content: 'step1'; } .application-flow > .wp-block-column:nth-child(2)::before { content: 'step2'; } .application-flow > .wp-block-column:nth-child(3)::before { content: 'step3'; }
色や余白、サイズなどは適当なので、上記を参考に調整してみてください。
♥ 0Who liked: No userテーマの
functions.php
よりプラグインのほうが早いタイミングで読み込まれるので、My Snow Monkey が読み込まれたタイミングでは$siteguard_captcha
が未定義だけど、テーマが読み込まれたタイミングでは$siteguard_captcha
が定義済みである、ということではないでしょうか。という想定でいくと、テーマが読み込まれたあとに発火するアクションフック
after_setup_theme
か、全プラグインが読み込まれたあとに発火するアクションフックplugins_loaded
あたりでコードを実行するとよいのではないでしょうか?(SiteGuard WP には詳しくないので動くかはわかりませんが、このあたりをヒントに試してみてください)add_action( 'after_setup_theme', function () { if ( isset( $siteguard_captcha ) ) { add_filter( 'woocommerce_login_form_start', [ $siteguard_captcha, 'handler_login_form' ] ); add_filter( 'woocommerce_register_form_start', [ $siteguard_captcha, 'handler_register_form' ] ); add_filter( 'woocommerce_lostpassword_form', [ $siteguard_captcha, 'handler_lostpassword_form' ] ); } } );
♥ 0Who liked: No user「画像にalt属性が指定されていません。」の表示になったときに、ブラウザのコンソールにエラーが出力されていたり、あるいは HTML が本来の正しい形ではない形で出力されていたりするのではないかなと想像します。そのエラーメッセージや HTML が確認できれば、原因を検討することができるかもしれません。
実際に「画像にalt属性が指定されていません。」の表示が確認できるページがあれば共有していただきたいです。
♥ 0Who liked: No userあー!ほんとですね(TT)
ご報告ありがとうございます、確認の上修正入れてアップデートをリリースします。カスタマイズ → デザイン → 投稿ページ設定 → 記事に関連記事を表示する、のチェックを外しても非表示にできるので、お急ぎの場合はそちらを試してみてください。
– ブラウザで cookie が無効化されている
– ページキャッシュを使っている
– サーバーキャッシュを使っているこれって管理者側(私の方)で解決できる問題なのでしょうか?
実際に僕の方でも送信してみて再現したので、cookie 無効化の可能性は無いかなと思います。
ページキャッシュ、サーバーキャッシュについては一般的には管理者が設定している場合が多いと思うので、設定を変更することで解決できる可能性はあると思います。
※レンタルサーバーを使っていて、サーバーがキャッシュを売りにしているサービスでオフにできないというものもあるかもしれないので、絶対管理者が変更できるとは言いきれませんが…
サブディレクトリにサイトを設置しているとフォームが送れないというのをどこかでみた記憶があります(すみません記憶が定かではないのですが)。サブディレクトリは今回の事象に関係ありますか?
修正済みだと思うので多分関係ないのでは無いかと思います。
♥ 0Who liked: No userSnow Monkey Forms は外部から不正な送信がおこなわれないように CSRF 対策をおこなっています。まずフォームを設置しているページにアクセスがあったときトークンが生成されフォームに埋め込まれるのと同時に、同じ値で cookie が発行されます。そしてフォームが送信されたときに、フォームから送信されたトークンと、保存していた cookie の値を比較します。同じ値をフォームと cookie に使っているので、通常であればこのとき同じ値となるはずですが、違う値になったときは不正に外部送信されたという判断になり「無効なアクセスです。」と表示されます。
以下が原因になることが多いようです。
– ブラウザで cookie が無効化されている
– ページキャッシュを使っている
– サーバーキャッシュを使っている♥ 0Who liked: No user一番簡単なのは
zoom
を使う方法ではないでしょうか。.l-header .c-hamburger-btn { zoom: 2; }
きっちり調整したいなら下記のように各要素に個別にスタイルを指定していく必要があります。
.l-header .c-hamburger-btn__bars { margin: 6px auto; height: 24px; width: 44px; } .l-header .c-hamburger-btn__bar:nth-of-type(2) { top: 11px; } .l-header .c-hamburger-btn__bar:nth-of-type(3) { top: 23px; }
♥ 0Who liked: No user -
投稿者投稿