私の最初のWordPressテーマの作者セクションは現在HTMLでハードコーディングされています。
ライブウェブサイト はこちら をご覧ください。
これらのソーシャルメディアアイコンおよびそれらに関連付けられたリンクは、デフォルトではバックエンド作成者ダッシュボードには表示されないため、コーディングする必要があります。
誰かが私に案内することができますか?
この機能もメタカテゴリになりますか?
サー、バックエンドの著者のダッシュボードに保存したソーシャルメディアのURLを実際に印刷するために、あなたが書いたコードのどの部分を使うのか、もう少し混乱があります。
私の質問を簡単にするために、フロントエンドに表示される私の著者のコードをここに入れています→
<div class="author-box">
<div class="author-image">
<img src="http://blog.blogeto.com/html/images/author_profile.png" alt="">
</div>
<div class="author-description">
<h2>
<!-- AUTHORS NAME --> <?php the_author(); ?>
<!-- <a href="<?php get_author_posts_url(); ?>"><?php the_author() ?></a> -->
<a href=""><i class="fa fa-home" aria-hidden="true"></i></a>
<a href=""><i class="fa fa-home" aria-hidden="true"></i></a>
<a href=""><i class="fa fa-facebook" aria-hidden="true"></i></a>
<a href=""><i class="fa fa-Twitter" aria-hidden="true"></i></a>
<a href=""><i class="fa fa-linkedin" aria-hidden="true"></i></a>
<a href=""><i class="fa fa-youtube" aria-hidden="true"></i></a>
</h2>
<p> Lorem Ipsum is simply dummy text.<a href="#">Read More</a> </p>
</div>
<div class="author-category">
<ul>
<li><a href="">CATEGORY 1</a></li>
<li><a href="">CATEGORY 2</a></li>
<li><a href="">CATEGORY 3</a></li>
<li><a href="">CATEGORY 4</a></li>
<li><a href="">CATEGORY 5</a></li>
</ul>
</div>
</div>
テーマのuser_contactmethods
のfunctions.php
フィルタを使用するか、プラグインを介してユーザー連絡方法を追加します。
ユーザー連絡方法の項目は、wp_usermeta
表に保管されています。 URLフィールドは特別です。 user_url
テーブルのwp_users
フィールドに格納されています。
// Add user contact methods
add_filter( 'user_contactmethods','wpse_user_contactmethods', 10, 1 );
function wpse_user_contactmethods( $contact_methods ) {
$contact_methods['facebook'] = __( 'Facebook URL', 'text_domain' );
$contact_methods['Twitter'] = __( 'Twitter URL', 'text_domain' );
$contact_methods['linkedin'] = __( 'LinkedIn URL', 'text_domain' );
$contact_methods['youtube'] = __( 'YouTube URL', 'text_domain' );
return $contact_methods;
}
テンプレートファイルにリンクを出力します。
<div class="author-box">
<div class="author-image">
<img src="http://blog.blogeto.com/html/images/author_profile.png" alt="">
</div>
<div class="author-description">
<h2>
<!-- AUTHORS NAME --> <?php the_author(); ?>
<!-- <a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>"><?php the_author() ?></a> -->
<?php
// Get the id of the post's author.
$author_id = get_the_author_meta( 'ID' );
// Get WP_User object for the author.
$author_userdata = get_userdata( $author_id );
// Get the author's website. It's stored in the wp_users table in the user_url field.
$author_website = $author_userdata->data->user_url;
// Get the rest of the author links. These are stored in the
// wp_usermeta table by the key assigned in wpse_user_contactmethods()
$author_facebook = get_the_author_meta( 'facebook', $author_id );
$author_Twitter = get_the_author_meta( 'Twitter', $author_id );
$author_linkedin = get_the_author_meta( 'linkedin', $author_id );
$author_youtube = get_the_author_meta( 'youtube', $author_id );
// Output the user's social links if they have values.
if ( $author_website ) {
printf( '<a href="%s"><i class="fa fa-home" aria-hidden="true"></i></a>',
esc_url( $author_website )
);
}
if ( $author_facebook ) {
printf( '<a href="%s"><i class="fa fa-facebook" aria-hidden="true"></i></a>',
esc_url( $author_facebook )
);
}
if ( $author_Twitter ) {
printf( '<a href="%s"><i class="fa fa-Twitter" aria-hidden="true"></i></a>',
esc_url( $author_Twitter )
);
}
if ( $author_linkedin ) {
printf( '<a href="%s"><i class="fa fa-linkedin" aria-hidden="true"></i></a>',
esc_url( $author_linkedin )
);
}
if ( $author_youtube ) {
printf( '<a href="%s"><i class="fa fa-youtube" aria-hidden="true"></i></a>',
esc_url( $author_youtube )
);
}
?>
</h2>
<p> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.Lorem Ipsum is simply dummy text. <a href="#">Read More</a> </p>
</div>
<div class="author-category">
<ul>
<li><a href="">CATEGORY 1</a></li>
<li><a href="">CATEGORY 2</a></li>
<li><a href="">CATEGORY 3</a></li>
<li><a href="">CATEGORY 4</a></li>
<li><a href="">CATEGORY 5</a></li>
</ul>
</div>
</div>
はい、これらのフィールドはユーザーメタになります。ユーザーのソーシャルリンクを保存するには、カスタムユーザーメタを追加する必要があります。
参照用の開発者向けドキュメントは次のとおりです。 https://developer.wordpress.org/plugins/users/working-with-user-metadata/
注:理解を深めるためにコード例を参照してください。