そこで、ユーザー プロファイルを表示するための author.php ページを作成しました。
これは、上部の 'if ( have_posts() ) :' に依存しています。ここで - 参考までに - 私も持っています...
<?php
/* Queue the first post, that way we know
* what author we're dealing with (if that is the case).
*
* We reset this later so we can run the loop
* properly with a call to rewind_posts().
*/
the_post();
?>
<?php
/* Since we called the_post() above, we need to
* rewind the loop back to the beginning that way
* we can run the loop properly, in full.
*/
rewind_posts();
?>
問題のユーザーが自分の名前の投稿を持っていれば問題ありません。しかし、投稿がない場合、コンテンツがあるはずのプロファイル ページが空白になります。
どうすればこれを克服できますか?
参考までに、完全な author.php は...
`
<?php if ( have_posts() ) : ?>
<?php
/* Queue the first post, that way we know
* what author we're dealing with (if that is the case).
*
* We reset this later so we can run the loop
* properly with a call to rewind_posts().
*/
the_post();
?>
<?php
/* Since we called the_post() above, we need to
* rewind the loop back to the beginning that way
* we can run the loop properly, in full.
*/
rewind_posts();
?>
<?php
/* Get Extra User Fields*/
$values_by_name = array( // Assign defaults to all CIMY fields
'TITLEJOB' => '',
'TITLESECONDARY' => '',
'COMPANY' => '',
);
$values = get_cimyFieldValue($author, false);
if ($values) {
foreach ($values as $value) {
$values_by_name[$value['NAME']] = cimy_uef_sanitize_content($value['VALUE']);
}
}
?>
<h1><?php the_author(); ?></h1>
<?php
if(!empty($values_by_name['COMPANY'])) {
echo '<p>Company: '.$values_by_name['COMPANY'].'</p>';
}
if(!empty($values_by_name['TITLEJOB'])) {
echo '<p>Title: '.$values_by_name['TITLEJOB'].'</p>';
if(!empty($values_by_name['TITLESECONDARY'])) {
echo '<p>Secondary: '.$values_by_name['TITLESECONDARY'].'</p>';
}
}
?>
<?php
?>
<p><?php echo get_avatar( get_the_author_meta( 'user_email' )); ?></p>
<p>URL: <a href="<?php the_author_meta( 'user_url' ); ?>"><?php the_author_meta( 'user_url' ); ?></a></p>
<p>Description: <?php echo nl2br(get_the_author_meta( 'description' )); ?></p>
<h4>Posts: <?php the_author_posts(); ?></h4>
<?php /* Start the Loop */ ?>
<ul>
<?php while ( have_posts() ) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<h4>Topics</h4>
<ul>
<li>Topic</li>
<li>Topic</li>
<li>Topic</li>
</ul>
<h4>Companies</h4>
<ul>
<li>Company</li>
<li>Company</li>
<li>Company</li>
</ul>
<?php endif; ?>
`