0
私はsprintfステートメントで動作するようにwordpressのグラバターを取得しようとしています。sprintfを使用してGravatarを印刷
<?php
if ('on' === $show_author || 'on' === $show_date || 'on' === $show_categories || 'on' === $show_comments) {
printf('<div class="post-wrapper"><p class="post-meta">%1$s %2$s %3$s %4$s %5$s <span class="comments">%6$s</span></p></div>',
(
'on' === $show_author
? et_get_safe_localization(sprintf(__('By: %s', 'et_builder'), '<span class="vcard2">' . get_avatar(get_the_author_meta('ID'), 80) . '</span><span class="author">' . et_pb_get_the_author_posts_link() . '</span>'))
: ''
),
(
('on' === $show_author && 'on' === $show_date)
? ' '
: ''
),
(
'on' === $show_date
? et_get_safe_localization(sprintf(__('%s', 'et_builder'), '<span class="published">' . esc_html(get_the_date($meta_date)) . '</span>'))
: ''
),
(
(('on' === $show_author || 'on' === $show_date) && 'on' === $show_categories)
? ' '
: ''
),
(
(('on' === $show_author || 'on' === $show_date || 'on' === $show_categories) && 'on' === $show_comments)
? ' | '
: ' '
),
(
'on' === $show_comments
? sprintf(esc_html(_nx('1 Comment', '%s Comments', get_comments_number(), 'number of comments', 'et_builder')), number_format_i18n(get_comments_number()))
: ''
)
);
}
?>
問題の行は、sprintf関数にあります。
? et_get_safe_localization(sprintf(__('By: %s', 'et_builder'), '<span class="vcard2">' . get_avatar(get_the_author_meta('ID'), 80) . '</span><span class="author">' . et_pb_get_the_author_posts_link() . '</span>'))
私はエコーを前面に置くと、構文エラーです。私がセミコロンで閉じた場合、構文エラーです。
get_avatar(get_the_author_meta('ID'), 80)
はまったく認められていないようですが、無視されます。 HTMLには何も出力されません。
アバターを表示する方法は、ワードプレスのディスカッションオプションでチェックされています。
これが出力されることになるだろうテストページ:Test page