/** * 检查百度收录情况 * * @param string $url 要检查的URL * @return int 返回1表示已收录,0表示未收录 */ function baidu_check($url) { // 获取当前文章ID $post_id = get_the_ID(); // 获取当前文章的百度收录状态 $baidu_record = get_post_meta($post_id, 'baidu_record', true); // 如果状态未知或者不是最新的,则进行检查 if ($baidu_record !== '1') { // 构造百度搜索URL $baidu_url = 'https://www.baidu.com/s?wd=' . urlencode($url); // 初始化cURL $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => $baidu_url, CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 10, CURLOPT_FOLLOWLOCATION => true, CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; BaiduChecker/1.0)', ]); // 执行请求 $response = curl_exec($curl); // 错误处理:检查cURL是否执行成功 if ($response === false) { error_log('cURL error: ' . curl_error($curl)); curl_close($curl); return 0; } curl_close($curl); // 使用正则表达式来检查未收录的提示 $not_found_pattern = '/没有找到该URL。您可以直接访问|很抱歉,没有找到与|抱歉,未找到相关内容/'; $is_included = !preg_match($not_found_pattern, $response); // 更新文章的收录状态 update_post_meta($post_id, 'baidu_record', $is_included ? '1' : '0'); return $is_included ? 1 : 0; } // 已知状态直接返回 return intval($baidu_record); } /** * 显示百度收录状态 */ function baidu_record() { // 获取当前文章的收录状态 $status = baidu_check(get_permalink()); // 根据收录状态输出相应的HTML if ($status === 1) { echo ' 百度已收录'; } else { echo ' n" aria-hidden="true"> 百度未收录'; } }