メインコンテンツへ移動

Search results of "i"

15件の結果を表示中 - 31 - 45件目 (全9,046件中)
  • 投稿者
    検索結果
  • アバター画像キタジマ タカシ
    参加者
    2606

    返事遅くなってすみません!

    if 文の書き換えで表示されたということで気づいたのですが、根本の原因は、ご指摘の通り snow-monkey/template-parts/content/entry/footer/footer.php では通常のクエリで関連記事の有無を判定してるのに、呼び出した related-posts.php でクエリを書き換えてるからなので、footer.php の if 文を消す修正を入れようかなと思います。

    1
    Who liked:
    まーちゅう
    参加者
    393
    • 根本原因としては、$related_posts_query->have_posts()false になることで、関連投稿セクション全体が非表示になる
    • 条件を || 1 にすると強制的に表示できる

    以上のことを考慮して、関連投稿が少ない場合のフォールバック機能を追加することで表示できるようになりました。

    /**
     * 関連記事の取得クエリを操作する
     *
     * @param array $args テンプレート取得クエリ.
     * @return array テンプレート取得クエリ.
     */
    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/content/related-posts',
    	function ( $args ) {
    		$_post_type = get_post_type();
    		if ( 'post' === $_post_type || 'works-and-voices' === $_post_type ) {
    			$args['vars']['_entries_layout'] = 'simple';
    		}
    		if ( 'interview' === $args['name'] ) {
    			$args['vars']['_entries_layout'] = 'carousel';
    			$args['vars']['_title']          = '他の社員を見る';
    			$args['vars']['_posts_query']->set( 'tax_query', false );
    			$args['vars']['_posts_query']->set( 'posts_per_page', 10 );
    			$args['vars']['_posts_query']->query( $args['vars']['_posts_query']->query_vars );
    		}
    		if ( 'job-posts' === $args['name'] ) {
    			$args['vars']['_entries_layout'] = 'rich-media';
    			$args['vars']['_title']          = '他の募集を見る';
    			// $args['vars']['_posts_query']->set( 'tax_query', false );
    			$args['vars']['_posts_query']->set( 'posts_per_page', 3 );
    			$args['vars']['_posts_query']->query( $args['vars']['_posts_query']->query_vars );
    		}
    		return $args;
    	}
    );
    
    /**
     * 関連投稿のクエリ引数をカスタマイズ
     * interview、job-postsで関連投稿が少ない場合のフォールバック機能
     *
     * @param array $args WP_Query の引数配列
     * @return array 修正されたクエリ引数
     */
    add_filter(
    	'snow_monkey_related_posts_args',
    	function ( $args ) {
    		// グローバルの$postから現在の投稿情報を取得
    		global $post;
    
    		if ( ! $post ) {
    			return $args;
    		}
    
    		// 投稿IDと投稿タイプの型チェック
    		$post_id   = (int) $post->ID;
    		$post_type = (string) $post->post_type;
    
    		// 無効な投稿IDの場合は早期リターン
    		if ( $post_id <= 0 ) {
    			return $args;
    		}
    
    		// interview、job-postsのカスタム投稿タイプの場合のみ処理
    		if ( ! in_array( $post_type, array( 'interview', 'job-posts' ), true ) ) {
    			return $args;
    		}
    
    		// 投稿タイプ別の最小表示件数設定
    		$min_posts_config = array(
    			'interview' => 8,
    			'job-posts' => 3,
    		);
    
    		// 投稿タイプに応じた最小表示件数を取得
    		if ( ! isset( $min_posts_config[ $post_type ] ) ) {
    			return $args;
    		}
    		$min_posts = $min_posts_config[ $post_type ];
    
    		// 元の関連投稿を取得
    		$related_posts = get_posts( $args );
    
    		// カウント処理
    		if ( ! is_array( $related_posts ) ) {
    			$related_posts = array();
    		}
    		$related_count = count( $related_posts );
    
    		// 関連投稿が少ない場合はフォールバック処理を実行
    		if ( $related_count < $min_posts ) {
    			// フォールバック用のクエリ引数を作成
    			$fallback_args = array(
    				'post_type'      => $post_type,
    				'posts_per_page' => $min_posts,
    				'post__not_in'   => array( $post_id ), // 現在の投稿を除外
    			);
    
    			// 既に取得した関連投稿のIDを除外
    			if ( ! empty( $related_posts ) ) {
    				$existing_ids = wp_list_pluck( $related_posts, 'ID' );
    
    				// wp_list_pluck の結果が配列かチェック
    				if ( is_array( $existing_ids ) && ! empty( $existing_ids ) ) {
    					$fallback_args['post__not_in'] = array_merge( $fallback_args['post__not_in'], $existing_ids );
    				}
    			}
    
    			// フォールバック記事を取得
    			$fallback_posts = get_posts( $fallback_args );
    
    			// 安全性チェック
    			if ( ! is_array( $fallback_posts ) ) {
    				$fallback_posts = array();
    			}
    
    			// 元の関連投稿とフォールバック記事をマージ
    			$all_related_posts = array_merge( $related_posts, $fallback_posts );
    
    			// 重複を除去し、指定件数まで調整
    			$unique_posts   = array();
    			$post_ids_added = array(); // 連想配列として使用してO(1)検索に
    
    			foreach ( $all_related_posts as $related_post ) {
    				// 既に必要件数に達してたら早期終了
    				if ( count( $unique_posts ) >= $min_posts ) {
    					break;
    				}
    
    				// 投稿オブジェクトの存在チェック
    				if ( ! is_object( $related_post ) || ! property_exists( $related_post, 'ID' ) ) {
    					continue;
    				}
    
    				$related_post_id = (int) $related_post->ID;
    
    				// 重複チェック
    				if ( ! isset( $post_ids_added[ $related_post_id ] ) ) {
    					$unique_posts[]                     = $related_post;
    					$post_ids_added[ $related_post_id ] = true;
    				}
    			}
    
    			// 最終的な投稿IDの配列を作成
    			if ( ! empty( $unique_posts ) ) {
    				$final_post_ids = wp_list_pluck( $unique_posts, 'ID' );
    
    				// IDの配列が有効かチェック
    				if ( ! empty( $final_post_ids ) && is_array( $final_post_ids ) ) {
    					// 元のクエリ引数を更新
    					$args['post__in'] = $final_post_ids;
    					$args['orderby']  = 'post__in'; // post__inの順序を保持
    
    					// tax_queryを削除(post__inを使用するため)
    					unset( $args['tax_query'] );
    				}
    			}
    		}
    
    		return $args;
    	},
    	10,
    	1
    );
    
    0
    Who liked: No user
    まーちゅう
    参加者
    393

    「関連記事の取得クエリを操作する」のコードを削除しても変化無しでした。

    snow-monkey/template-parts/content/entry/footer/footer.php 内の、if ( get_option( 'mwt-google-matched-content' ) || $related_posts_query->have_posts() )if ( get_option( 'mwt-google-matched-content' ) || 1 ) に書き換えると、表示されました。

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

    以下、確認お願いします!

    – 「関連記事の取得クエリを操作する」のコードを削除した場合も、「同じタクソノミー内の記事が1件しかない時に、関連投稿が表示されない」という現象はそのままでしょうか?
    snow-monkey/template-parts/content/entry/footer/footer.php 内の、if ( get_option( 'mwt-google-matched-content' ) || $related_posts_query->have_posts() )if ( get_option( 'mwt-google-matched-content' ) ) に書き換えると、変化はありますか? ← すみません、間違えました
    snow-monkey/template-parts/content/entry/footer/footer.php 内の、if ( get_option( 'mwt-google-matched-content' ) || $related_posts_query->have_posts() )if ( get_option( 'mwt-google-matched-content' ) || 1 ) に書き換えると、変化はありますか?

    0
    Who liked: No user

    ご対応ありがとうございます!

    .is-style-default の件、確認いたしまして修正されておりました!
    大変たすかりました。

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

    ありがとうございます。「ブログ」ページのソースコードを見てみると、どうもこの「ブログ」ページは、本来のぶログのトップページである「投稿ページ」ではなくて、「固定ページ」に「最近の投稿」ブロックを設置する形で実装されているように見えました。

    これを固定ページではなくて、本来の「投稿ページ」を使うようにすると、反映された形で表示されるようになると思います。

    ちなみに、最近の投稿ブロックはデフォルトで先頭固定表示が除外される設定になっています。設定パネルで「先頭固定表示を除外する」のチェックを外すと反映されるようになります。

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

    ぐわー気づいていませんでした、ありがとうございます(TT)
    知らないうちに .is-style-default がついていてそのままになっている方に影響がでちゃうので、v29.1.3 で修正しました!

    0
    Who liked: No user
    #145780
    Kaho
    参加者
    13

    ありがとうございます。

    これは一例ですが、たとえばこの記事を先頭固定表示したいと思って、チェックをつけても先頭固定表示になりません…。他のブログ記事でも試してみたのですが、結果は同じでした。

    以下が反映されない対象のページです。

    行っている設定は、添付画像のとおりです。

    0
    Who liked: No user
    #145774
    友添成隆
    参加者
    7

    HTMLに

    <head>
    <script src=”https://challenges.cloudflare.com/turnstile/v0/api.js” async defer></script>
    </head>
    <body>
    <form action=”/submit” method=”POST”>
    <!– フォームの入力項目… –>
    <div class=”cf-turnstile” data-sitekey=”あなたのサイトキー”></div>
    <button type=”submit”>送信</button>
    </form>
    </body>

    このように追加することで使えるようなのですが。これをサイトキーをSnow Monkey Formsに登録することで利用できるようにするのは難しいでしょうか?

    サーバー側ではSimple Cloudflare Turnstileプラグインをインストールしシークレットキーは設定してあります。

    0
    Who liked: No user

    早速のアップデートありがとうございます。
    h2、h3で確認いたしまして、修正されておりました!

    1点、気づいたところですが、
    もともとh2、h3についてデフォルトのスタイルを使っている場合、
    スタイル側でポチポチと経由して、最後に「デフォルト」に戻したいよとなったときに、

    追加 CSS クラスには「is-style-default」が付与されるため、
    このとき本来の初期スタイルの「デフォルト」には戻らず「プレーン」と同様になる点でした。

    もともとのスタイルありの状態にしたい場合は「is-style-default」を削除すると良いかと思いますので、
    今回のアップデートで仕様をご存知ない場合は一瞬「おや?」となるかもしれません。

    個人的には大丈夫です!

    0
    Who liked: No user

    キタジマさま

    一旦クローズしたのですが
    本件のアップデートによるものと思いましたので、オープンさせていただきます。

    アップデート後、見出しにブロックスタイルをつけた場合、パディングが消えてしまうようです。
    細かく確認できておりませんが、見出し3のスタイルに「上下」を選ぶと上下余白のほか下線も消えてしまうようでした。
    「スピーカー」など余白が必要なスタイルに影響しているようです。

    また、エディター側とフロント側とで差異があり、添付のとおりです。(ブロックに入れない場合、フロントではスタイルが効いています)
    見出し2と3に影響があるような気がしますが、ご確認いただけますでしょうか?

    以下のCSSを解除するとスタイルが効くようでした!

    
    :root :where(.is-layout-constrained,.is-layout-flow)>:where(h3) {
    /* border-bottom:var(--entry-content-h3-border-bottom); */
    /* padding:var(--entry-content-h3-padding); */
    }

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

    Cloudflare Turnstile の存在は知っているのですが、僕もまだ Cloudflare Turnstile のことは何もわからないので、ちょっとなんともわからないという感じです。

    例えば Cloudflare Turnstile のこういうコードがフォームのあるページに出力されれば OK、みたいなドキュメントやコードのサンプルがあれば、それを参考に機能追加することはできるのかなと思います。

    0
    Who liked: No user
    友添成隆
    参加者

    【お使いの Snow Monkey のバージョン】
    【お使いの Snow Monkey Blocks のバージョン】
    【お使いの Snow Monkey Editor のバージョン】
    【お使いのブラウザ】
    【当該サイトのURL】

    ### 実現したいこと

    申込フォームにてCloudflare Turnstileを利用して安全性とフォーム利用者の機能性を確保したい。

    ### 発生している問題

    ### 試したこと

    ネット検索したところCloudflare Turnstile側ではSnow Monkey Formsに対応している旨の記述は確認できませんでした。

    何らかの方法でSnow Monkey FormsでCloudflare Turnstileを利用する方法があればアドバイスお願い致します。

    #145665
    アバター画像キタジマ タカシ
    参加者
    2606

    セクション(背景画像/動画)ブロックに背景画像を設定すると、小さな画像でも幅いっぱいに広げられてしまうので難しいですね…。

    他のブロックでも設定だけで実現する方法は無いと思います。セクションブロックに適当な CSS クラスを設定し、それに対して CSS を書き、background-imagebackground-sizebackground-position を適用する形になるのかなぁと想像します。

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

    あ、ほんとですね…。具体的には .is-layout-constrained というクラスが付与されている要素の子要素には、見出しの上に広めの余白がつくようになっているはずなのですが、コアのアップデートなのか何なのかわかりませんが、いつからかのタイミングで等間隔に並ぶようになってしまっているのだと思います。

    調査して修正したいと思います!

    1
    Who liked:
15件の結果を表示中 - 31 - 45件目 (全9,046件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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