WordPress プラグイン YARPP 5.27.2 でエラー 【修正済み!】

関連ポストを表示してくれるプラグイン YARPP – Yet Another Related Posts Plugin のバージョン 5.27.2 (2021.08.12更新)でエラーが発生するので慌てて 5.27.1に戻しました。

YARPP です。5.27.1から5.27.2という誤差みたいなバージョンの更新があって、自動更新されていたんですがphpエラーが発生して表示が完全に崩れます。

Digital Boo Pennguin Icon————————————————–

【修正されました】5.27.4 に更新されていて、試しました。エラーはありません。対応早かったですね。ありがとうございます。記事を消すのも何なので置いておきますが、修正されましたから以下読む必要はありません。

——————————————————-ペンギンアイコン mini

ただしエラーと表示崩れを起こすには条件があります。それは、テンプレートをカスタマイズしている場合です。

プラグインフォルダにテンプレートがあって、それをテーマ内にコピーしてから改造して使うというのがこれまでの定番でした。

で、更新されてテンプレートの仕組みが大きく変わったようで、以前のバージョンのテンプレートを使っていると盛大なエラーで表示崩れを起こします。テンプレートをカスタムしていない場合にはエラーは起きてなさそうなので、一部の人だけが影響を受ける感じですか。

自動更新の設定なんかするもんじゃありませんね。

久しぶりにプラグイン設定画面を見てみると、様子が随分変わっています。妙なカスタマイザ仕立てになってました。

プレビューっぽい枠があったりしますが何も表示されません。

テンプレートをコピーして改造していた人は、大元のテンプレを新しいのに交換するなり、コードをコピペして整えるなり、対処を先にやっとかないとマズいです。あぁ面倒くさ。

ちらりと見たところ、新しいテンプレートは、リスト表示だとこんなの。

<?php
if ( have_posts() ) :
	$postsArray = array();
	while ( have_posts() ) :
		the_post();
		$postsArray[] = '<a href="' . get_permalink() . '" rel="bookmark norewrite" title="' . the_title_attribute( 'echo=0' ) . '">' . get_the_title() . '</a><!-- (' . get_the_score() . ')-->';
	endwhile;

	echo implode( ', ' . "\n", $postsArray ); // print out a list of the related items, separated by commas

else :
	?>

<p>No related posts.</p>
<?php endif; ?>

サムネイル表示だとこんなのでした。

<?php
/* Pick Thumbnail */
global $_wp_additional_image_sizes;
if ( isset( $_wp_additional_image_sizes['yarpp-thumbnail'] ) ) {
	$dimensions['size'] = 'yarpp-thumbnail';
} else {
	$dimensions['size'] = 'medium'; // default
}
?>

<h3>Related Photos</h3>
<?php if ( have_posts() ) : ?>
<ul>
	<?php
	while ( have_posts() ) :
		the_post();
		?>
		<?php if ( has_post_thumbnail() ) : ?>
		<li><a href="<?php the_permalink(); ?>" rel="bookmark norewrite" title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail( $dimensions['size'], array( 'data-pin-nopin' => 'true' ) ); ?></a></li>
		<?php endif; ?>
	<?php endwhile; ?>
</ul>

<?php else : ?>
<p>No related photos.</p>
<?php endif; ?>

 

ということで、YARPP使ってる人で、テンプレをテーマ内でカスタムしていた人は更新に要注意というお話でした。

何かもう何もかも面倒くさいな。猫も死んだことだし、すべてに張り合いとやる気を失いつつある危険なペットロス症候群のデジタル部長でございました。

しばらくして・・・

※ ペットロス鬱が重症で立ち直れず何もやる気が起きないので確認もテストもしていませんが、フォーラムによると5.27.3で修正されたように読めますね。修正してくれたんならありがたいですね。

https://wordpress.org/support/topic/uncaught-error-call-to-undefined-function-yarpp_related/

※ 上にも書いたように、5.27.4を試したところ、エラーはなくなっていました。