要在WordPress中实现用户关注功能,您需要进行一些编程工作。以下是一些步骤,供您参考:
创建一个自定义插件:首先,您需要创建一个自定义WordPress插件,以容纳您的关注功能代码。您可以在WordPress的插件目录中创建一个新文件夹,并在其中创建一个主插件文件(例如,myfollowplugin.php)。
设置数据库表:您需要创建一个数据库表来存储用户关注的数据。可以使用WordPress提供的函数来执行数据库操作。以下是一个简单的示例:
function create_follow_table() {
global $wpdb;
$table_name = $wpdb>prefix . 'user_follows';
$charset_collate = $wpdb>get_charset_collate();
$sql = "CREATE TABLE $table_name (
id mediumint(9) NOT NULL AUTO_INCREMENT,
user_id bigint(20) NOT NULL,
followed_user_id bigint(20) NOT NULL,
PRIMARY KEY (id)
) $charset_collate;";
require_once( ABSPATH . 'wpadmin/includes/upgrade.php' );
dbDelta( $sql );
}
register_activation_hook( __FILE__, 'create_follow_table' );
function follow_user() {
// 检查用户是否已登录
if (is_user_logged_in()) {
// 获取当前用户的ID
$current_user_id = get_current_user_id();
// 获取要关注的用户ID
$followed_user_id = $_POST['followed_user_id'];
// 在数据库中插入关注数据
global $wpdb;
$table_name = $wpdb>prefix . 'user_follows';
$wpdb>insert($table_name, array(
'user_id' => $current_user_id,
'followed_user_id' => $followed_user_id
));
// 返回成功消息
echo '关注成功';
} else {
// 返回未登录错误消息
echo '请登录后关注';
}
wp_die();
}
add_action('wp_ajax_follow_user', 'follow_user');
add_action('wp_ajax_nopriv_follow_user', 'follow_user');
function unfollow_user() {
// 检查用户是否已登录
if (is_user_logged_in()) {
// 获取当前用户的ID
$current_user_id = get_current_user_id();
// 获取要取消关注的用户ID
$followed_user_id = $_POST['followed_user_id'];
// 从数据库中删除关注数据
global $wpdb;
$table_name = $wpdb>prefix . 'user_follows';
$wpdb>delete($table_name, array(
'user_id' => $current_user_id,
'followed_user_id' => $followed_user_id
));
// 返回成功消息
echo '取消关注成功';
} else {
// 返回未登录错误消息
echo '请登录后取消关注';
}
wp_die();
}
add_action('wp_ajax_unfollow_user', 'unfollow_user');
add_action('wp_ajax_nopriv_unfollow_user', 'unfollow_user');
这只是一个简单的示例,您可以根据自己的需求进行扩展和改进。还要确保在插件文件的顶部添加适当的注释,包括插件的名称、描述和作者信息,以及版本号等。
请注意,这是一个基本的示例,您需要根据您的网站需求进行进一步开发和安全性检查。此外,确保在处理用户输入和数据时采取适当的安全措施,以防止潜在的安全漏洞。