リンクカードでサブディレクトリで運用している別のサイトに遷移できない

0
いいねをした人: 居ません
  • このトピックには23件の返信、2人の参加者があり、最後にJKDECORにより1ヶ月、 4週前に更新されました。
9件の投稿を表示中 - 16 - 24件目 (全24件中)
  • 投稿者
    投稿
  • #142794
    アバター画像キタジマ タカシ
    参加者
    2475

    金土日が出張で作業できなかったので、今日の夕方か夜に作業予定です。お待たせしてすみません!

    0
    いいねをした人: 居ません
    #142796
    アバター画像キタジマ タカシ
    参加者
    2475

    var_dump( $url );string(69) "https://livingskape.jkdecor.com/money/marriott-bonvoy-premium-review/" となっているからちゃんと URL は取得できているぽいんですけどねー、なんでだろう…。

    <a href="<?php echo esc_url( $url ); ?>" target="<?php echo esc_attr( $target ); ?>">
    

    のところを

    <a href="<?php echo $url; ?>" target="<?php echo esc_attr( $target ); ?>">
    

    としてみたら変化はありますか?

    esc_url() は URL から不正な文字列を除去してくれる関数です。全然問題は無いように見えるんですけど、万が一ということもあるので、念の為この関数を消したらどうなるかを確認したいです。セキュリティ的に下記を使うのは良くないのであくまで動作確認です。

    0
    いいねをした人: 居ません
    #142811
    JKDECOR
    参加者
    51
    add_filter(
    	'wp_oembed_blog_card_blog_card_template',
    	function( $html, $cache ) {
    		$url = '';
    		preg_match( '/<a>/mis', $html, $matches );
    		if ( is_array( $matches ) && 1 <= count( $matches ) ) {
    			$url = $matches[1];
    		}
    		if ( 0 === strpos( $url, home_url() ) ) {
    			$target = '_self';
    		} else {
    			$target = '_blank';
    		}
    		$cached_time = isset( $cache['cached_time'] ) ? date_i18n( 'd/m/y H:i:s', $cache['cached_time'] ) : null;
    		ob_start();
    ?>
    <div class="wp-oembed-blog-card" data-cached-time="<?php echo esc_attr( $cached_time ); ?>">
    	<div class="wp-oembed-blog-card-label"><span style="" class="wp-oembed-blog-card-label-text">あわせて読みたい</span></div>
    	<a href="<?php echo $url; ?>" target="<?php echo esc_attr( $target ); ?>">
    		<?php if ( $cache['thumbnail'] ) : ?>
    		<div class="wp-oembed-blog-card__figure">
    			<img src="<?php echo esc_url( $cache['thumbnail'] ); ?>" alt="">
    		</div>
    		<?php endif; ?>
    		<div class="wp-oembed-blog-card__body">
    			<div class="wp-oembed-blog-card__title">
    				<?php echo esc_html( $cache['title'] ); ?>
    			</div>
    			<div class="wp-oembed-blog-card__more">
    				<p class="wp-oembed-blog-card-more">続きを見る
    			</div>
    		</div>
    	</a>
    </div>
    <?php
    		return ob_get_clean();
    	},
    	100,
    	2
    );
    0
    いいねをした人: 居ません
    #142812
    JKDECOR
    参加者
    51

    お手数お掛けします💦

    変更してみたのですが
    何も変化なく同じ挙動でした…!

    リンク先に別タブで遷移した後
    何かURLがパパっと変化して元のページに戻ってしまいました!

    0
    いいねをした人: 居ません
    #142829
    アバター画像キタジマ タカシ
    参加者
    2475

    だめですかー。リンクの URL 自体が空で出力されているので、元のページに戻るというより、シンプルに同じページが開かれている形になっています。リンクの URL さえ出力されれば解決するのですが、ちょっとなんでかわからないですね…。

    var_dump() では正しく URL が入っていたので、このフックのところではなくて、もっと別のどこかで最終的に URL が除去されているという可能性もあるのかもしれません。

    これ以上は直接触らないとわからないので、可能でしたら本番サイトで直接調査してみたいのですがいかがでしょうか?ご検討のほどよろしくお願い致します。(もし OK であれば Discord のほうでやりとりさせていただければと思います)

    0
    いいねをした人: 居ません
    #142839
    JKDECOR
    参加者
    51

    キタジマさま

    いつもすいません汗!
    個別にご連絡させていただきます!

    こちらのスレッドは閉じた方がいいですか?

    0
    いいねをした人: 居ません
    #142845
    アバター画像キタジマ タカシ
    参加者
    2475

    いえ、不具合の可能性もあるので、原因がわかるまでは開けておいてください!

    0
    いいねをした人: 居ません
    #142846
    JKDECOR
    参加者
    51

    承知しました!

    0
    いいねをした人: 居ません
    #142862
    JKDECOR
    参加者
    51

    キタジマさま

    ご対応ありがとうございました!
    個別に対応いただいた結果を履歴として以下に残します。

    本来、

    preg_match( '/<a>/mis', $html, $matches );</a>

    となっているべき箇所が

    preg_match( '/<a>/mis', $html, $matches );</a>

    となっていたことで URL がとれないのでリンクが抜けてしまっていた、
    ということになるそうです。

    上記変更を施した結果、ブログカードで
    普通に遷移できるようになりました。

    キタジマさま、ありがとうございました!
    トピック閉じさせていただきます。

    1
    いいねをした人:
9件の投稿を表示中 - 16 - 24件目 (全24件中)
  • トピック「リンクカードでサブディレクトリで運用している別のサイトに遷移できない」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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