あまり見かけない関数 wp_meta()
を紹介します。最近の WordPress 標準テーマではあまり使われていないようですが、サイドバーなどによく設置されていた関数のようです。
wp_meta() 関数とは
WordPress 本体の wp-includes/general-template.php
に関数の定義が以下のようにされています。
function wp_meta() {
/**
* Fires before displaying echoed content in the sidebar.
*
* @since 1.5.0
*/
do_action( 'wp_meta' );
}
使い方
上で分かるように、関数の中にはアクションフックが用意されているだけです。また、コメントアウトには以下のように書かれています。
Fires before displaying echoed content in the sidebar.
(サイドバーにエコーされたコンテンツを表示する前に起動します)
サイドバーの挙動というのは、クラシックテーマ内の sidebar.php
などに関係する箇所に記述がないと動きません。過去の標準テーマには、以下のような記述がありました。
<li id="meta" class="widget-container">
<h3 class="widget-title"><?php _e( 'Meta', 'twentyten' ); ?></h3>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<?php wp_meta(); ?>
</ul>
</li>
また、メタウィジェットの内部にも関数が設置されているようです。
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<li><a href="<?php echo esc_url( get_bloginfo( 'rss2_url' ) ); ?>"><?php _e( 'Entries feed' ); ?></a></li>
<li><a href="<?php echo esc_url( get_bloginfo( 'comments_rss2_url' ) ); ?>"><?php _e( 'Comments feed' ); ?></a></li>
<?php
/**
* Filters the "WordPress.org" list item HTML in the Meta widget.
*
* @since 3.6.0
* @since 4.9.0 Added the `$instance` parameter.
*
* @param string $html Default HTML for the WordPress.org list item.
* @param array $instance Array of settings for the current widget.
*/
echo apply_filters(
'widget_meta_poweredby',
sprintf(
'<li><a href="%1$s">%2$s</a></li>',
esc_url( __( 'https://wordpress.org/' ) ),
__( 'WordPress.org' )
),
$instance
);
wp_meta();
?>
</ul>
フック
wp_meta
do_action( ‘wp_meta’ )
アクションフックが利用できますが、そもそも wp_meta()
関数がどこに設置されているか把握しておく必要がありそうです。
add_action(
'wp_meta',
function () {
echo "wp_meta() が動いている";
}
);
wp_meta()
関数が設置してある場合、上のようなコードで実験することができます。
まとめ
正直なところ、どのような活用方法があるのか想像できませんでした。詳しくご存知の方が見えたらぜひアドバイス頂けますと嬉しいです。