メインコンテンツへ移動

特定の「任意のタクソノミーの投稿」ブロックのリンクを新規ウィンドウで開きたい。

0
Who liked: No user
  • このトピックには7件の返信、2人の参加者があり、最後に林淳一により2週、 5日前に更新されました。
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #145531
    林淳一
    参加者
    29

    【お使いの Snow Monkey のバージョン】29.1.0
    【お使いの Snow Monkey Blocks のバージョン】24.0.4
    【お使いの Snow Monkey Editor のバージョン】11.0.2
    【お使いのブラウザ】Firefox

    ### 実現したいこと
    特定の「任意のタクソノミーの投稿」ブロックのリンクを新規ウィンドウで開きたい。

    ### 試したこと
    特定のカテゴリーのアーカイブのリンクは、下記コードをmy-snow-monkey.phpに追加することで新規ウィンドウで開くようになりました。

    add_filter(
        'snow_monkey_template_part_render_template-parts/loop/entry-summary',
        function( $html ) {
            if ( is_category( 'demae' ) || is_category( 'information' ) ) {
                global $post;
    
                // 投稿が「demae」カテゴリーに属しているかどうかをチェック
                if ( has_category( 'demae', $post ) ) {
                    $html = str_replace(
                        '<a',
                        '<a target="_blank" rel="noreferrer noopener"',
                        $html
                    );
                }
            }
            return $html;
        }
    );

    上記を参考に「任意のタクソノミーの投稿」ブロックの新規ウィンドウで開くように試みましたが、うまくいきませんでした。

    add_filter(
        'snow_monkey_template_part_render_template-parts/loop/entry-summary/term/term',
        function( $html ) {
            if ( is_category( 'information' ) || is_home() ) {
                global $post;
    
                // 投稿が「demae」カテゴリーに属しているかどうかをチェック
                if ( has_category( 'demae', $post ) ) {
                    $html = str_replace(
                        '<a',
                        '<a target="_blank" rel="noreferrer noopener"',
                        $html
                    );
                }
            }
            return $html;
        }
    );
    0
    Who liked: No user
    #145548
    アバター画像キタジマ タカシ
    参加者
    2602

    template-parts/loop/entry-summary/term/term だとカテゴリーラベル(カテゴリー名が表示されてクリックするとカテゴリーアーカイブに飛ぶリンクの部分)のテンプレートパーツになりますが、新規ウィンドウで開きたいリンクはその部分という認識であっていますか?それとも記事に飛ぶリンクを新規ウィンドウで開きたい感じでしょうか?

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

    もし「記事に飛ぶリンクを新規ウィンドウで開きたい」であれば、snow_monkey_template_part_render_template-parts/loop/entry-summary フックによるカスタマイズで大丈夫なはずです。

    ただし、

    if ( is_category( 'demae' ) || is_category( 'information' ) ) {
    

    が問題になると思います。これは今「demae カテゴリーアーカイブページを表示している」か「information カテゴリーアーカイブページを表示している」場合にのみ実行されるので、任意のタクソノミー投稿ブロックが固定ページに設置されている場合は実行されません。

    0
    Who liked: No user
    #145562
    林淳一
    参加者
    29

    キタジマ様

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

    やりたいことは、 「任意のタクソノミーの投稿」ブロックでカテゴリーが「demae」の場合、 新規ウィンドウで開きたいです。

    下記コードをmy-snow-monkey.phpに追加しましたが、 新規ウィンドウでは開きませんでした。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/',
    	function( $html ) {
    		if ( has_category( 'demae', $post ) ) {
    			$html = str_replace(
    				'<a',
    				'<a target="_blank" rel="noreferrer noopener"',
    				$html
    			);
    		}
    		return $html;
    	}
    );
    0
    Who liked: No user
    #145564
    アバター画像キタジマ タカシ
    参加者
    2602

    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;
    	}
    );
    1
    Who liked:
    #145565
    林淳一
    参加者
    29

    キタジマ様

    教えていただいたコードを追加しましたが、別ウィンドウでは開きませんでした。

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

    あ、フック名が変ですね。

    snow_monkey_template_part_render_template-parts/loop/entry-summary/
    

    snow_monkey_template_part_render_template-parts/loop/entry-summary
    
    1
    Who liked:
    #145569
    林淳一
    参加者
    29

    キタジマ様

    「任意のタクソノミーの投稿」ブロックでカテゴリーが「demae」の場合、 新規ウィンドウで開くことができました!

    いつもご丁寧にありがとうございます!

    トピック閉じます。

    1
    Who liked:
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • トピック「特定の「任意のタクソノミーの投稿」ブロックのリンクを新規ウィンドウで開きたい。」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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