📅  最后修改于: 2023-12-03 15:06:41.260000             🧑  作者: Mango
WordPress 中的 wp_get_author 适用于在文章和页面上显示作者的名称和链接。在本教程中,我们将通过使用 wp_get_author 函数,将作者信息添加到仪表板中。
在开始之前,确保您已使用 WordPress 搭建了网站,并且对 PHP 的基本知识有一定的了解。
在 WordPress 仪表板中添加作者框需要在 functions.php 文件中添加以下代码:
// 添加作者框
function custom_author_meta_box() {
add_meta_box(
'custom_author',
__( '作者信息', 'textdomain' ),
'custom_author_meta_box_callback',
'post'
);
}
add_action( 'add_meta_boxes', 'custom_author_meta_box' );
// 生成作者框
function custom_author_meta_box_callback($post) {
wp_nonce_field( basename( __FILE__ ), 'custom_author_nonce' );
?>
<p>
<label for="custom-author-name"><?php _e( '作者姓名', 'textdomain' )?></label>
<input type="text" name="custom_author_name" id="custom-author-name" value="<?php echo esc_attr( get_post_meta( $post->ID, 'custom_author_name', true ) ); ?>">
</p>
<?php
}
在存储作者信息之前,需要实现安全验证。以下是我们需要添加到 functions.php 文件中的代码:
// 防止 Cross-site scripting (XSS)
function custom_author_meta_box_save( $post_id ) {
if ( ! isset( $_POST['custom_author_nonce'] ) || ! wp_verify_nonce( $_POST['custom_author_nonce'], basename( __FILE__ ) ) ) {
return $post_id;
}
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return $post_id;
}
if ( 'post' === $_POST['post_type'] && ! current_user_can( 'edit_post', $post_id ) ) {
return $post_id;
}
if ( ! isset( $_POST['custom_author_name'] ) ) {
return $post_id;
}
$my_data = sanitize_text_field( $_POST['custom_author_name'] );
update_post_meta( $post_id, 'custom_author_name', $my_data );
}
add_action( 'save_post', 'custom_author_meta_box_save' );
现在我们已经添加了作者框,也保存了作者框数据。下一步是将作者数据显示在仪表板上。您可以在任何添加作者框的位置和风格中使用此代码:
// show author name and link from author ID
$author_id = get_post_meta( get_the_ID(), '_custom_author', true );
$author_name = get_post_meta( get_the_ID(), '_custom_author', true );
$author_link = get_author_posts_url( $author_id );
echo '<a href="' . $author_link . '">' . $author_name . '</a>';
现在您已经知道如何在 WordPress 仪表板中添加作者框。我们的代码示例说明了如何添加、保存和显示作者框数据。随着您的 WordPress 网站不断发展,您可能还需要添加更多的元数据框,以收集和保存更多的信息。