如果您试图在用户配置文件区域链接帖子,下面的代码可能是一个很好的起点。你可以把它放在你的函数中。php文件。第一个函数在用户配置文件部分显示一个选择标记,其中包含自定义帖子类型中的所有帖子。选项值是帖子id,标题是帖子名称。下一个功能保存用户配置文件信息,添加或更新用户元字段(在本例中,我使用了“userphotos”,它将存储帖子的ID。当您想在网站上的任何位置显示用户的帖子时,可以使用WP\\u user\\u查询,并显示用户的元数据。如果您希望包含多篇帖子,请选中复选框或在select标记中使用multiple属性,并将帖子存储为元字段中的数组。下面的代码未经测试,也不太符合要求。)了解您希望用户配置文件部分的功能,如果这不是您想要的,请道歉。
<?php
function add_extra_user_fields( $user ) {
$userid = get_user_meta($user->ID);
$args = array(
\'post_type\' => \'your_post_type\',
\'posts_per_page\' => -1,
);
$query = new WP_Query($args);
?>
<select name="testprofile">Select a Post</p>
<?php if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>
<option value="<?php the_ID(); ?>"
if (get_user_meta( $userid, userphotos, true) == $userid ){
echo \'selected\';
}?>>
<?php the_title(); ?>
</option>
<?php endwhile; endif; ?>
</select>
<?php
}
add_action( \'show_user_profile\', \'add_extra_user_fields\' );
add_action( \'edit_user_profile\', \'add_extra_user_fields\' );
function save_extra_user_fields( $user_id ) {
update_user_meta( $user_id, \'userphotos\', sanitize_text_field( $_POST[\'testprofile\'] ) );
}
add_action( \'personal_options_update\', \'save_extra_user_fields\' );
add_action( \'edit_user_profile_update\', \'save_extra_user_fields\' );