- 
		投稿者投稿
- 
		
			
				
2019年9月15日 8:21 PM #28012【お使いの Snow Monkey のバージョン】v7.10.5 
 【お使いのブラウザ】Google Chrome バージョン: 76.0.3809.132(64 ビット)
 【当該サイトのURL】https://www.pangoo.jp/visit=== 上記でコードを見つけて、子テーマのfunction.phpに貼り付け、descriptionの文字数を変更したり、一番下のfavicon+ドメイン名を削除したりしたのですが、表示させてみると、aタグにリンク先のURLが入っていないことに気が付きました(クリックしても移動しない)。多分コードが古いのかもしれません。何か良い方法あればお教示ください。 見つけたコード add_filter( 
 ‘wp_oembed_blog_card_blog_card_template’,
 function( $html, $cache ) {
 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 ); ?>”>
 ” target=”<?php echo esc_attr( $target ); ?>”>
 <?php if ( $cache[‘thumbnail’] ) : ?>
 <div class=”wp-oembed-blog-card__figure”>
 ” 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__description”>
 <?php
 if ( function_exists( ‘mb_strimwidth’ ) ) {
 echo esc_html( mb_strimwidth( $cache[‘description’], 0, 160, ‘…’, ‘utf-8’ ) );
 } else {
 echo esc_html( $cache[‘description’] );
 }
 ?>
 </div>
 <div class=”wp-oembed-blog-card__domain”>
 <?php if ( $cache[‘favicon’] ) : ?>
 ” alt=””> 
 <?php endif; ?>
 <?php echo esc_html( $cache[‘domain’] ); ?>
 </div>
 </div>
 
 </div>
 <?php
 return ob_get_clean();
 },
 100,
 2
 );変更後のコード add_filter( 
 ‘wp_oembed_blog_card_blog_card_template’,
 function( $html, $cache ) {
 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 ); ?>”>
 ” target=”<?php echo esc_attr( $target ); ?>”>
 <?php if ( $cache[‘thumbnail’] ) : ?>
 <div class=”wp-oembed-blog-card__figure”>
 ” 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__description”>
 <?php
 if ( function_exists( ‘mb_strimwidth’ ) ) {
 echo esc_html( mb_strimwidth( $cache[‘description’], 0, 240, ‘…’, ‘utf-8’ ) );
 } else {
 echo esc_html( $cache[‘description’] );
 }
 ?>
 </div>
 </div>
 
 </div>
 <?php
 return ob_get_clean();
 },
 100,
 2
 );♥ 0Who liked: No user2019年9月16日 4:47 PM #28094該当の記事を書いたケミです。 
 wp_oembed_blog_card_blog_card_templateのフック、書き方が違っていたのをそのまま修正せずに記事に出していたようで…すみません。
 urlを取得するなどが必要なので、このように書き直してみてください。add_filter( 'wp_oembed_blog_card_blog_card_template', function( $html, $cache ) { $url = null; preg_match_all( '/<a href=\"(.*?)\".*?>/mis', $html, $matches ); if ( is_array( $matches ) && count( $matches ) >= 1 ) { $url = $matched[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();記事も修正しておきます。 @キタジマさん 
 もしよければ、このフックにurlを足していただくと、めっちゃ助かるんですが…(汗♥ 0Who liked: No user2019年9月16日 10:50 PM #28104タイポがあったので、うまく動作しないままでした。 
 すみません、再度修正して載せておきます。add_filter( 'wp_oembed_blog_card_blog_card_template', function( $html, $cache ) { $url = ''; preg_match( '/<a href=\"(.*?)\".*?>/mis', $html, $matches ); if ( is_array( $matches ) && 1 <= count( $matches ) ) { $url = $matches[1]; } ...略...これで正常動作するはずです。 ♥ 0Who liked: No user2019年9月17日 3:49 AM #28116ありがとうございました。解決しました! ♥ 0Who liked: No user
- 
		投稿者投稿
- トピック「ブログカードのカスタマイズについて」には新しい返信をつけることはできません。
