私はPHPとWordPressを初めて使用し、既存のテンプレートをパーソナライズしていますが、次の問題があります。
テンプレートのfunction.phpファイルには、次の関数があります。
function admired_posted_on() {
printf( __( '<span class="sep">Posted on </span>
<a href="%1$s" title="%2$s" rel="bookmark">
<time class="entry-date" datetime="%3$s" pubdate>%4$s</time>
</a>
<span>%5$s</span>
<span class="by-author">
<span class="sep"> by bla</span>
<span class="author vcard">
<a class="url fn n" href="%6$s" title="%7$s" rel="author">%8$s</a>
</span>
</span>
', 'admired' ),
esc_url( get_permalink() ),
esc_attr( get_the_time() ),
esc_attr( get_the_date( 'c' ) ),
esc_html( get_the_date() ),
sprintf('Views: ', get_PostViews(get_the_ID())),
esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
sprintf( esc_attr__( 'View all posts by %s', 'admired' ), get_the_author() ),
esc_html( get_the_author() )
);
}
ご覧のとおり、この関数は、テンプレートの特定の部分(ループ内)に出力するHTMLコードを作成します。
わかりました、あなたがこの行を見ることができるように:
sprintf('Views: ', get_PostViews(get_the_ID())),
文字列「Views:」に続いて、関数get_the_ID()によって返される値(投稿を読んだ人の数を表す)を出力する必要があります
ご覧のとおり、この関数は呼び出された関数のリストで5番目に呼び出されるため、%5 $ sプレースホルダーの代わりに、この値を次のスパンタグに配置する必要があります。
<span>%5$s</span>
問題は、このスパンでページを実行しようとすると、値:Views:のみが表示されますが、get_PostViews()関数の出力は表示されないことです。
元の行の代わりに:
sprintf('Views: ', get_PostViews(get_the_ID())),
私はこの行を使用します:
sprintf(get_PostViews(get_the_ID())),
うまく機能しますが、説明テキスト「ビュー:」を事前に追加することはできません。
なんで?「Views」テキストの後にget_PostViews関数の戻り値を出力するにはどうすればよいですか?
Tnx
アンドレア