ツイッタータイムライン 表示されないよ~、対応ついでにショートコード

ワードプレスJava-scriptショートコード

すぐに対応されると思いますが、、、

ツイッターパブリッシュのコードをコピペしたタイムライン、表示されないですね。

ツイッター上に少し情報が出始めてます。

 

2022/03/12早朝には修正されてました。コードを見たところ、下記とは違う感じでしたので、「https://platform.twitter.com/widgets.js」に戻したほうが良いと思われます。

 

タイムライン表示に必要なjs「https://platform.twitter.com/widgets.js」にミスがありエラーが出ている模様。

  1. スクリプトをダウンロード
  2. スクリプト中の「https://cdn.syndication.twimg.com」を「https://syndication.twimg.com」に変更(2カ所)
  3. サイトにアップロードして、「アップロードしたパス/widgets.js」を読み込ませるようタイムライン表示コードを変更

で表示されると思います。

 

「すぐ直せ!」「今直せ!」な場合はこれで。

 

2~3日前までは正常だったので、何かの必要があって更新したはず。

てことは「この問題が修正されたら元に戻したほうが良い」ってことよね、、、

ついでにショートコード

ツイッターパブリッシュだと、ヘッダーとか「by」を消すオプションが無いのでショートコード化。

function ttl( $atts ){
	extract( shortcode_atts( array(
		'url'	=> ''
	), $atts ) );
	$header = '';
	$theme = '';
	$url = '';
	if( !empty( $atts['url'] ) ){
		$url = $atts['url'];
	}
	if( !empty( $atts['width'] ) ){
		$width = ' data-width="' . $atts['width'] . '"';
	}else{
		$width = ' data-width="' . '300' . '"';
	}
	if( !empty( $atts['height'] ) ){
		$height = ' data-height="' . $atts['height'] . '"';
	}else{
		$height = ' data-height="' . '400' . '"';
	}
	if( !empty( $atts['theme'] ) && $atts['theme'] == 'dark' ){
		$theme = ' data-theme="dark"';
	}
	if( !empty( $atts['header'] ) && $atts['header'] === 'none' ){
		$header = ' data-chrome="noheader nofooter"';
	}
	if( !empty( $atts['by'] ) && $atts['by'] === 'none' ){
		$by = '';
	}else{
		$by = 'Tweets by ' . $url;
	}
/* ---------- 正規のjs
	$js = 'https://platform.twitter.com/widgets.js';
 ---------- */
	$js = get_bloginfo( 'stylesheet_directory' ) . '/js/widgets.js';
return '<a class="twitter-timeline" data-lang="ja"' . $header . $width . $height . $theme . ' href="' . $url . '">' . $by . '</a><script async src="' . $js . '" charset="utf-8"></script>';
}
add_shortcode( 'ttl', 'ttl' );

※jsのミスが修正されたら、「$js」を正規のものに変更。

出力

ttl url=”https://twitter.com/PICO_CRE” header=”none” by=”none” width=”300″ height=”400″

※[]の囲みをお忘れなく