タスク: は、CMSのユーザーは、Twitterへの投稿を共有するときに使用される画像を変更できるようにします。 Yoastは、Twitterカードを作成するときにおすすめ画像を使用します。適切にワードプレスのテーマでYoastのWPSEO_Twitterクラスを拡張する方法
アプローチ: はポストにカスタムメタフィールドを追加します。 WPSEO_Twitterクラス、またはprivate関数output_metatag()だけを拡張してください。カスタムメタフィールドが空でない場合は、デフォルトの代わりにカスタムフィールド値を使用します。
コード:
if (class_exists('WPSEO_Twitter')) :
remove_action('wpseo_head', array('WPSEO_Twitter', 'get_instance'), 40);
add_action('wpseo_head', array('EXAMPLE_WPSEO_Twitter', 'get_instance'), 40);
class EXAMPLE_WPSEO_Twitter extends WPSEO_Twitter {
// etc
}
endif;
問題: remove_actionが動作していないとさえずりメタコードが重複しています。プラグインのクラスと拡張クラスの両方が実行されています。
リンク:https://github.com/Yoast/wordpress-seo/blob/trunk/frontend/class-twitter.php