メインコンテンツへ移動

Search results of "i"

15件の結果を表示中 - 1 - 15件目 (全8,974件中)
  • 投稿者
    検索結果
  • #145423
    林淳一
    参加者
    26

    キタジマ様

    h2に変更できました。

    c-page-header__titleでもh2に変更できました。

    add_filter(
    'snow_monkey_template_part_render',
    function( $html, $slug ) {
    if ( 'template-parts/common/page-header' === $slug ) {
    $html = str_replace( '
    
    <h1 ', '<h2 ', $html );
    $html = str_replace( '
    
    ', '
    
    ', $html );
    return $html;
    }
    return $html;
    },
    10,
    2
    );

    トピック閉じます。

    1
    Who liked:
    #145397
    アバター画像キタジマ タカシ
    参加者
    2587

    アーカイブページのc-entry__titleのh1をh2に変更するのは下記コードであっていますでしょうか。

    一部コードが消えているようだったのでこちらで調整してみました。実際に h2 になっているのか確認して、変わっているようなら大丈夫だと思います。

    解決したらトピックのクローズをお願いします!

    1
    Who liked:
    #145385
    林淳一
    参加者
    26

    まーちゅう様

    ご返信ありがとうございます、またh1が2つになることを気にしていただき、ありがとうございます。
    固定ページと投稿のc-entry__titleは下記ページを参考にh2に変更しました。

    アーカイブページのc-entry__titleのh1をh2に変更するのは下記コードであっていますでしょうか。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'template-parts/archive/entry/header/header' === $slug ) {
    			$html = str_replace( '<h1 ', '<h2 ', $html );
    			$html = str_replace( '</h1>', '</h2>', $html );
    			return $html;
    		}
    		return $html;
    	},
    	10,
    	2
    );
    0
    Who liked: No user
    #145383
    GONSY
    参加者

    【Snow Monkey】29.0.2
    【Snow Monkey Blocks】24.0.4
    【Snow Monkey Editor】11.0.2
    【PHP】8.2.22
    【ブラウザ】Chrome 137.0.7151.69
    【当該サイトのURL】ローカルのテスト環境のため共有不可

    ### 発生している問題
    Snow Monkey (テーマ)のバージョンによるものかと思いますが、また操作としてはレアケースですが、以下の条件で .l-header 要素が非表示になりました。

    ▼設定条件

    • ヘッダーレイアウト:1行
    • PC 用ヘッダー位置:上部固定

    ▼操作条件

    1. ページをスクロールして右下に出現するページトップへのボタンを押下しヘッダーに移動します。<br>その際、URLは https://example.com/#body
    2. この状態でブラウザの【再読込】を実施。
    3. 画面をスクロールすると、上部固定している .l-header 要素が非表示になる。<br>さらにスクロールで上部に戻ると.l-header 要素自体が空白になる

    ※ショーケースで紹介されている、同条件のサイトでも同様の症状が見られました。

    ### 試したこと
    上記の条件で以下のCSSが適用されることにより非表示になると思いました。

    .l-header[aria-hidden=true], .l-header[aria-hidden=true] .p-drop-nav {
    	opacity: 0;
    	overflow: hidden;
    	visibility: hidden;
    }

    現状の対策として以下を追記しています。

    .l-header[aria-hidden=true] .p-drop-nav,
    .l-header[aria-hidden=true] {
    	opacity: 1;
    	visibility: visible;
    }

    一度ご確認いただけると助かります🙇‍

    #145376
    アバター画像キタジマ タカシ
    参加者
    2587

    そのトピックは記事タイトル部分なので、ロゴ部分を変えたい場合は別の方法で対応する必要があります。

    これでどうでしょうか?

    add_filter(
    	'snow_monkey_get_template_part_args_templates/layout/header/' . ( get_theme_mod( 'header-layout' ) ?: 'center' ),
    	function( $args ) {
    		$args['vars']['_title_tag'] = 'h1';
    		return $args;
    	},
    	100
    );
    0
    Who liked: No user
    #145374
    まーちゅう
    参加者
    388

    一応コードも置いておきます。

    /**
     * _title_tag タグをh1に変更
     */
    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/header/site-branding',
    	function ( $args ) {
    		$args['vars']['_title_tag'] = 'h1';
    
    		return $args;
    	},
    	10,
    	1
    );
    2
    Who liked:
    #145373
    まーちゅう
    参加者
    388

    こんにちは。

    トップページ以外の固定ページや投稿、アーカイブページのヘッダーにあるロゴのタグをdivからh1に変更したい。

    ということですが、その場合、c-site-branding__titlec-entry__title の両方が h1 タグになりますが、あえてそうしたいということでしょうか?
    この場合、致命的なペナルティを受けるわけではありませんが、SEOのベストプラクティスとは言えません。
    理由は以下の通りです。

    1. h1タグの役割が希薄化する
      検索エンジンに対して、そのページに最も重要な見出しが2つあるという、曖昧なシグナルを送ってしまいます。「サイト名」と「そのページの固有タイトル」のどちらが本当に重要なのか、判断を迷わせる可能性があります。
    2. サイト全体で同じh1タグが重複する
      サイトロゴの h1 は、サイト内のどのページでも同じ内容(サイト名)になります。これにより、例えば「会社概要」のページも、「お問い合わせ」のページも、「(サイト名)」という h1 を持つことになり、各ページの独自性が薄れてしまいます。ページの主題とは関係のない h1 が全ページに存在することになります。
    3. ページの主要なテーマが伝わりにくい
      検索エンジンは、そのページが「何について書かれているか」を h1 タグから強く読み取ろうとします。
      ページ固有のタイトル(例:「美味しいカルボナーラの作り方」)だけが h1 であればテーマは明確ですが、そこにサイト名(例:「山田さんの料理ブログ」)の h1 が加わると、シグナルが分散してしまいます。
    4. アクセシビリティ的にもマイナス
      支援技術(スクリーンリーダー)では最初の h1 を重視します。また、アクセシビリティやマークアップ評価ツールで指摘されやすくなります。

    何か特別な理由が無いかぎりは、Snow Monkey のデフォルトのままで使用されることをおすすめします。

    2
    Who liked:
    #145357
    アバター画像キタジマ タカシ
    参加者
    2587

    Snow Monkey Blocks のボタンブロックでしょうか?最新版ではデフォルト、ゴースト、テキストの3種類です。

    スタイルライブラリーに登録されているブロックスタイルを使いたい場合は、使いたいブロックをお気に入り登録する必要があります。

    詳しくはマニュアルを確認してください。

    マニュアル

    スタイルライブラリー

    0
    Who liked: No user
    #145333
    アバター画像キタジマ タカシ
    参加者
    2587

    確認したところ、Snow Monkey テーマに不具合が見つかりました。ご迷惑をおかけしてしまい申し訳ありません…。

    v29.0.2 で修正を入れましたが、アップデート通知が届かないので手動で更新をして頂く必要があります。

    XServer の管理画面から最新版(v29.0.2)の zip ファイルをダウンロードして管理画面からアップロードして更新する方法と、サーバー上のファイルを直接修正してアップデート通知が届くようにする方法があります。

    詳しくは記事にまとめましたので、ご確認・ご対応いただければと思います。
    お手数おかけする形になり大変申し訳ございませんが、よろしくお願いいたします。

    0
    Who liked: No user
    #145324
    アバター画像キタジマ タカシ
    参加者
    2587

    Snow Monkey テーマのみ更新通知がこないのであれば、Snow Monkey 独自のアップデートプロセスの問題の可能性が考えられます。

    ただ、プラグインについては独自のアップデートプロセスは無いので、プラグインの更新通知もこないのであれば、別の問題の可能性も考えられます。例えば更新通知を消すカスタマイズをしている等。

    Snow Monkey Blocks、Snow Monkey Editor については現段階での最新版をお使いのようですが、更新通知が来ないプラグインは何でしょうか?

    0
    Who liked: No user
    アバター画像原子恭一
    参加者
    7

    その後、AIが考えた以下のコードで、LIKE 検索問題は解決したかに見えましたが、
    AND検索の答えが間違っていたりして、非常に不可解な状況が続き、ここまでかな、という結論になりました。
    休日にも関わらず返信いた、だきありがとうございました。

    <?php
    // 対象のカスタムフィールドキー
    $target_field_keys = array( 'Language', 'veggie-halal' /* , 他のチェックボックス系フィールド */ );
    
    function fix_sms_checkbox_like_query( $query ) {
    	if ( is_null( filter_input( INPUT_GET, 'snow-monkey-search' ) ) ) {
    		return;
    	}
    
    	$meta_query = $query->get( 'meta_query' );
    	if ( ! is_array( $meta_query ) || empty( $meta_query ) ) {
    		return;
    	}
    
    	// GETパラメータからSnow Monkey Searchのカスタムフィールド設定を取得
    	$post_metas_from_get = filter_input( INPUT_GET, 'sms-post-meta', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY );
    	if ( ! $post_metas_from_get ) {
    		return;
    	}
    
    	global $target_field_keys; // グローバル変数として定義した場合、または関数内で定義
    	$modified = false;
    
    	foreach ( $meta_query as $index => &$meta_condition ) { // 参照渡し
    		if ( is_array( $meta_condition ) && isset( $meta_condition['key'] ) &&
    in_array( $meta_condition['key'], $target_field_keys ) &&
    isset( $post_metas_from_get[ $meta_condition['key'] ]['compare'] ) &&
    $post_metas_from_get[ $meta_condition['key'] ]['compare'] === 'LIKE' ) {
    			if ( isset( $meta_condition['value'] ) && is_array( $meta_condition['value'] ) ) {
    				$current_field_key = $meta_condition['key'];
    				$values_from_condition = $meta_condition['value'];
    
    				if ( count( $values_from_condition ) === 1 ) {
    					$meta_condition['compare'] = 'LIKE';
    					$meta_condition['value'] = $values_from_condition[0];
    					$modified = true;
    				} else if ( count( $values_from_condition ) > 1 ) {
    					$or_conditions = array( 'relation' => 'OR' );
    					foreach ( $values_from_condition as $value_item ) {
    						$or_conditions[] = array(
    							'key' => $current_field_key,
    							'value' => $value_item,
    							'compare' => 'LIKE',
    							'type' => 'CHAR',
    						);
    					}
    					$meta_condition = $or_conditions; // 元の条件をORグループで置き換え
    					$modified = true;
    				}
    			}
    		}
    	}
    	unset( $meta_condition );
    
    	if ( $modified ) {
    		// meta_query全体のrelation調整(複数の条件グループがある場合)
    		$actual_conditions_count = 0;
    		foreach ($meta_query as $mq_key => $mq_value) {
    			if (is_int($mq_key)) {
    				$actual_conditions_count++;
    			}
    		}
    		if ($actual_conditions_count > 1 && !isset($meta_query['relation'])) {
    			$meta_query['relation'] = 'AND';
    		} elseif ($actual_conditions_count <= 1 && isset($meta_query['relation'])) {
    			unset($meta_query['relation']);
    		}
    		$query->set( 'meta_query', $meta_query );
    	}
    	// error_log('Final Fixed Meta Query by fix_sms_checkbox_like_query: ' . print_r($query->get('meta_query'), true));
    }
    add_action( 'snow_monkey_search_pre_get_posts', 'fix_sms_checkbox_like_query', 10 );
    ?>
    0
    Who liked: No user
    アバター画像原子恭一
    参加者
    7

    ご丁寧なアドバイスをいただき、ありがとうございました。

    【結果のご報告】

    ご教示いただいた内容に基づき、さらに詳細な検証を行った結果、以下の点が判明いたしました。

    1:Query.php の該当箇所について:

    ご指摘の if ( is_array( $meta_value ) ) { $meta_compare = ‘IN’; } の部分をコメントアウトしてテストしたところ、ACFの複数選択チェックボックスから送られてくる配列の $meta_value と、LIKE 検索の組み合わせでは、WordPressの WP_Meta_Query がエラーを発生させることが確認できました(wpdb->esc_like() が配列を処理できないため)。
    このことから、あのコードブロックは、配列の値に対して IN 句で検索を行うための意図的な実装であったと理解いたしました。

    2:ACF複数選択チェックボックス(値がシリアライズ配列またはカンマ区切り文字列)と Snow Monkey Search の連携について:

    現在の Snow Monkey Search の「カスタムフィールド検索」ブロックの標準機能では、データベースにシリアライズされた配列文字列やカンマ区切り文字列として保存されているACFの複数選択チェックボックスの値を、期待するような柔軟な LIKE 検索(例:選択された複数の値をOR条件やAND条件で部分一致検索する)で絞り込むことは難しい、という結論に至りました。
    (「比較:LIKE」と設定しても、実際には IN 句や、単純な文字列との完全一致に近いSQLが生成されてしまうため)

    【今後の対応について】
    1:このような複数選択が望ましい項目は、ACFのカスタムフィールドではなく、カスタムタクソノミーとして再設計し、Snow Monkey Search の「タクソノミー検索」ブロックを利用する?
    2:または、機能要件を調整し、単一選択のラジオボタンで絞り込みを行う?

    pre_get_posts フック等での高度なカスタマイズについては、とうてい私のできうる範囲ではありませんので、今回はより安定した標準的な方法を選択することになると思います。

    今回の件では、お忙しい中、何度もご丁寧にご回答いただき、ありがとうございました。

    0
    Who liked: No user
    アバター画像キタジマ タカシ
    参加者
    2587

    Advanced Custom Fields (ACF) プラグインを使って作成されたフィールドでしょうか?
    それとも、ACFを使わずにWordPressの標準機能で追加されたカスタムフィールドでしょうか?

    ACF ではなくて、register_meta() で追加したものです。

    Snow Monkey Search のクエリー操作を見直していて気づいたのですが、検索ボックスから特定のキーに対して複数の値が送信されてきたとき(例:チェックボックスで複数のチェックがされたとき)は、強制的に IN になるようにしてるみたいでした。

    なんで、チェックボックス検索にされているのならこれが影響しているのかも?これを消したらどうなるか一度試してみてください!

    0
    Who liked: No user
    アバター画像原子恭一
    参加者
    7

    ご確認いただきありがとうございます。

    キタジマさんの環境で LIKE になったとのこと、承知いたしました。
    追加で恐縮ですが、その際にテストされたカスタムフィールドは、
    Advanced Custom Fields (ACF) プラグインを使って作成されたフィールドでしょうか?
    それとも、ACFを使わずにWordPressの標準機能で追加されたカスタムフィールドでしょうか?

    私の環境では、ACFで作成したフィールド(値はカンマ区切りの単純な文字列としてデータベースに保存し、register_meta でも type: ‘string’, single: true で登録)に対して、
    Snow Monkey Search のカスタムフィールド検索ブロックで「タイプ:CHAR」「比較:LIKE」と設定しても、SQLが meta_value IN (‘検索語句’) となってしまいます。

    もし、キタジマさんがテストされたのがACFフィールドでない場合、
    ACFフィールドに対してSnow Monkey Search の LIKE 検索が期待通りに機能しない可能性も考えられるかと思いました…

    0
    Who liked: No user
    アバター画像キタジマ タカシ
    参加者
    2587

    試してみましたが、僕の環境だと正しく LIKE になっているようでした。

    クエリーをカスタマイズするコードを既に追加されているのであれば、一旦それを全部消してみると変化があるか確認してみてください。

    0
    Who liked: No user
15件の結果を表示中 - 1 - 15件目 (全8,974件中)

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。