{"id":22,"date":"2024-11-02T21:59:00","date_gmt":"2024-11-02T13:59:00","guid":{"rendered":"https:\/\/blog.senru.site\/?p=22"},"modified":"2025-09-21T22:02:08","modified_gmt":"2025-09-21T14:02:08","slug":"%e8%af%84%e8%ae%ba%e9%9a%8f%e6%9c%ba%e5%a4%b4%e5%83%8f","status":"publish","type":"post","link":"https:\/\/blog.senru.site\/index.php\/2024\/11\/02\/%e8%af%84%e8%ae%ba%e9%9a%8f%e6%9c%ba%e5%a4%b4%e5%83%8f\/","title":{"rendered":"\u8bc4\u8bba\u968f\u673a\u5934\u50cf"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u56e0\u4e3a\u4e0d\u77e5\u9053\u51fa\u4e86\u4ec0\u4e48\u95ee\u9898\u8bfb\u53d6\u4e0d\u4e86QQ\u5934\u50cf\u4e86\uff0c\u6240\u4ee5\u5728\u539f\u6709\u7684\u4ee3\u7801\u7684\u57fa\u7840\u4e0a\u589e\u52a0\u4e86\u968f\u673a\u5934\u50cf<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u66f4\u6539\u7684\u4f4d\u7f6e\u5e94\u8be5\u5728functions.php\u6587\u4ef6\u76841850\u884c\u5de6\u53f3\uff0c\u5c06QQ Avatar \u83b7\u53d6\u548c\u5224\u65ad QQ \u53f7\u5408\u6cd5\u6027\u7684\u5185\u5bb9\u66f4\u6362\u4ee5\u4e0b\u4ee3\u7801\u5373\u53ef<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5177\u4f53\u7684url\u81ea\u884c\u4fee\u6539\uff0c\u6ce8\u91ca\u4e5f\u633a\u5168\u7684\uff0c\u5b9e\u6d4b\u4e5f\u80fd\u8fd0\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u83b7\u53d6\u8bc4\u8bba\u8005\u5934\u50cf\nfunction get_avatar_by_qqnumber($avatar) {\n    global $comment;\n\n    \/\/ \u786e\u4fdd\u8bc4\u8bba\u5b58\u5728\n    if (!isset($comment) || !isset($comment->comment_ID)) {\n        return $avatar;\n    }\n\n    \/\/ \u83b7\u53d6\u8bc4\u8bba\u8005\u7684\u7528\u6237 ID\n    $user_id = get_comment_user_id_by_id($comment->comment_ID);\n\n    \/\/ \u68c0\u67e5\u8bc4\u8bba\u53d1\u9001\u8005\u662f\u5426\u662f\u5df2\u767b\u5f55\u7528\u6237\n    if ($user_id != 0) {\n        \/\/ \u4f7f\u7528\u552f\u4e00\u7684 URL \u4f5c\u4e3a\u5934\u50cf\n        $unique_avatar_url = '<strong><em>\u5934\u50cfurl<\/em><\/strong>'; \/\/ \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u552f\u4e00 URL\n\n        preg_match_all('\/width=\\'(.*?)\\'\/', $avatar, $preg_res);\n        $size = !empty($preg_res&#91;1]) ? $preg_res&#91;1]&#91;0] : 64; \/\/ \u9ed8\u8ba4\u5934\u50cf\u5927\u5c0f\n\n        return \"&lt;img src='\" . esc_url($unique_avatar_url) . \"' class='avatar avatar-\" . esc_attr($size) . \" photo' width='\" . esc_attr($size) . \"' height='\" . esc_attr($size) . \"'>\";\n    }\n\n    \/\/ \u83b7\u53d6 QQ \u53f7\u7801\n    $qqnumber = get_comment_meta($comment->comment_ID, 'qq_number', true);\n\n    \/\/ \u5982\u679c QQ \u53f7\u7801\u5b58\u5728\u4e14\u5408\u6cd5\uff0c\u5c1d\u8bd5\u8fd4\u56de QQ \u5934\u50cf\n    if (!empty($qqnumber) &amp;&amp; check_qqnumber($qqnumber)) {\n        preg_match_all('\/width=\\'(.*?)\\'\/', $avatar, $preg_res);\n        $size = !empty($preg_res&#91;1]) ? $preg_res&#91;1]&#91;0] : 64; \/\/ \u9ed8\u8ba4\u5934\u50cf\u5927\u5c0f\n\n        return \"&lt;img src='https:\/\/q1.qlogo.cn\/g?b=qq&amp;s=640&amp;nk=\" . esc_attr($qqnumber) . \"' class='avatar avatar-\" . esc_attr($size) . \" photo' width='\" . esc_attr($size) . \"' height='\" . esc_attr($size) . \"'>\";\n    }\n\n    \/\/ QQ \u5934\u50cf\u83b7\u53d6\u5931\u8d25\uff0c\u8fd4\u56de\u57fa\u4e8e\u8bc4\u8bba\u8005 ID \u7684\u5934\u50cf\n    $random_avatar_url = '<strong><em>\u5934\u50cfapi\/url<\/em><\/strong>'; \/\/ \u66ff\u6362\u4e3a\u771f\u5b9e\u7684 API URL\n\n    preg_match_all('\/width=\\'(.*?)\\'\/', $avatar, $preg_res);\n    $size = !empty($preg_res&#91;1]) ? $preg_res&#91;1]&#91;0] : 64; \/\/ \u9ed8\u8ba4\u5934\u50cf\u5927\u5c0f\n\n    \/\/ \u8fd4\u56de\u968f\u673a\u5934\u50cf\n    return \"&lt;img src='\" . esc_url($random_avatar_url) . \"?user_id=\" . esc_attr($user_id) . \"' class='avatar avatar-\" . esc_attr($size) . \" photo' width='\" . esc_attr($size) . \"' height='\" . esc_attr($size) . \"'>\";\n}\n\nadd_filter('get_avatar', 'get_avatar_by_qqnumber');\n\n\/\/ \u5224\u65ad QQ \u53f7\u5408\u6cd5\u6027\nif (!function_exists('check_qqnumber')) {\n    function check_qqnumber($qqnumber) {\n        return preg_match(\"\/^&#91;1-9]&#91;0-9]{4,10}$\/\", $qqnumber) === 1;\n    }\n}\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u56e0\u4e3a\u4e0d\u77e5\u9053\u51fa\u4e86\u4ec0\u4e48\u95ee\u9898\u8bfb\u53d6\u4e0d\u4e86QQ\u5934\u50cf\u4e86\uff0c\u6240\u4ee5\u5728\u539f\u6709\u7684\u4ee3\u7801\u7684\u57fa\u7840\u4e0a\u589e\u52a0\u4e86\u968f\u673a\u5934\u50cf \u66f4\u6539\u7684\u4f4d\u7f6e\u5e94\u8be5\u5728functi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-22","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.senru.site\/index.php\/wp-json\/wp\/v2\/posts\/22","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.senru.site\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.senru.site\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.senru.site\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.senru.site\/index.php\/wp-json\/wp\/v2\/comments?post=22"}],"version-history":[{"count":1,"href":"https:\/\/blog.senru.site\/index.php\/wp-json\/wp\/v2\/posts\/22\/revisions"}],"predecessor-version":[{"id":23,"href":"https:\/\/blog.senru.site\/index.php\/wp-json\/wp\/v2\/posts\/22\/revisions\/23"}],"wp:attachment":[{"href":"https:\/\/blog.senru.site\/index.php\/wp-json\/wp\/v2\/media?parent=22"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.senru.site\/index.php\/wp-json\/wp\/v2\/categories?post=22"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.senru.site\/index.php\/wp-json\/wp\/v2\/tags?post=22"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}