{"id":31496,"date":"2024-11-25T09:29:41","date_gmt":"2024-11-25T01:29:41","guid":{"rendered":"https:\/\/fwq.ai\/blog\/31496\/"},"modified":"2024-11-25T09:29:41","modified_gmt":"2024-11-25T01:29:41","slug":"phpcms%e5%85%b3%e8%81%94%e6%96%87%e7%ab%a0%e6%8e%92%e5%ba%8f%e4%b8%8d%e5%8f%98%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%9f","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/31496\/","title":{"rendered":"phpcms\u5173\u8054\u6587\u7ae0\u6392\u5e8f\u4e0d\u53d8\u600e\u4e48\u529e\uff1f"},"content":{"rendered":"<p style=\"text-align:center\"><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/052\/5ee03b1531a1c197.jpg\" class=\"aligncenter\" title=\"phpcms\u5173\u8054\u6587\u7ae0\u6392\u5e8f\u4e0d\u53d8\u600e\u4e48\u529e\uff1f\u63d2\u56fe\" alt=\"phpcms\u5173\u8054\u6587\u7ae0\u6392\u5e8f\u4e0d\u53d8\u600e\u4e48\u529e\uff1f\u63d2\u56fe\" \/><\/p>\n<p><strong>phpcms\u6392\u5e8f\u4e0d\u53d8\u600e\u4e48\u529e\uff1f<\/strong><\/p>\n<p><strong>phpcms\u5173\u8054\u6587\u7ae0\u6392\u5e8f\u4e0d\u53d8\u95ee\u9898\u7684\u4fee\u6539\u65b9\u6cd5\uff1a<\/strong><\/p>\n<p style=\"text-align: justify\">\u6253\u5f00 phpcms\/modules\/content\/classes\/content_tag.class.php \u5185\u5bb9\u6a21\u578b\u6807\u7b7e\u7c7b\uff0c\u53d1\u73b0\u8be5\u6807\u7b7e\u4ec5\u5728\u5185\u5bb9\u5b58\u5728\u4eba\u4e3a\u8bbe\u7f6e\u7684\u76f8\u5173\u9605\u8bfb\u65f6\uff0c\u5219\u4f9d\u7167order\u53c2\u6570\u8fdb\u884c\u6392\u5e8f\u3002\u800c\u5f53\u5185\u5bb9\u4e0d\u5b58\u5728\u4eba\u4e3a\u8bbe\u7f6e\u7684\u76f8\u5173\u9605\u8bfb\u65f6\uff0c\u5219\u6309\u7167\u5173\u952e\u5b57\u8fdb\u884c\u67e5\u8be2\uff0c\u4f46\u6b64\u65f6\u5e76\u6ca1\u6709\u6309\u7167order\u53c2\u6570\u8fdb\u884c\u6392\u5e8f\u3002\u800c\u662f\u4e0d\u8fdb\u884c\u6392\u5e8f\u3002\u8fd9\u4e5f\u5c31\u662f\u4e3a\u4ec0\u4e48\u6587\u7ae0\u8c03\u7528\u7684\u76f8\u5173\u9605\u8bfb\u603b\u662f\u90a3\u4e48\u9648\u65e7\u7684\u539f\u56e0\u4e86\u3002<\/p>\n<p>\u4fee\u6b63\u8be5\u95ee\u9898\u7684\u65b9\u6cd5\u5982\u4e0b\uff1a<br \/>\u4fee\u6539 phpcms\/modules\/content\/classes\/content_tag.class.php \u5185\u5bb9\u6a21\u578b\u6807\u7b7e\u7c7b\u6587\u4ef6\uff0c\u5c06 content_tag \u7c7b\u4e2d relation \u65b9\u6cd5\u4fee\u6539\u4e3a\uff1a<\/p>\n<p>\u4ee3\u7801\u5982\u4e0b:<\/p>\n<pre>\/**\n*&nbsp;\u76f8\u5173\u6587\u7ae0\u6807\u7b7e\n*&nbsp;@param&nbsp;$data\n*\/\npublic&nbsp;function&nbsp;relation($data)&nbsp;{\n$catid&nbsp;=&nbsp;intval($data['catid']);\nif(!$this-&amp;gt;set_modelid($catid))&nbsp;return&nbsp;false;\n$order&nbsp;=&nbsp;$data['order'];\n$sql&nbsp;=&nbsp;\"`status`=99\";\n$limit&nbsp;=&nbsp;$data['id']&nbsp;?&nbsp;$data['limit']+1&nbsp;:&nbsp;$data['limit'];\nif($data['relation'])&nbsp;{\n$relations&nbsp;=&nbsp;explode('|',trim($data['relation'],'|'));\n$relations&nbsp;=&nbsp;array_diff($relations,&nbsp;array(null));\n$relations&nbsp;=&nbsp;implode(',',$relations);\n$sql&nbsp;=&nbsp;\"&nbsp;`id`&nbsp;IN&nbsp;($relations)\";\n$key_array&nbsp;=&nbsp;$this-&amp;gt;db-&amp;gt;select($sql,&nbsp;'*',&nbsp;$limit,&nbsp;$order,'','id');\n}&nbsp;elseif($data['keywords'])&nbsp;{\n$keywords&nbsp;=&nbsp;str_replace('%',&nbsp;'',$data['keywords']);\n$keywords_arr&nbsp;=&nbsp;explode('&nbsp;',$keywords);\n$key_array&nbsp;=&nbsp;array();\n$number&nbsp;=&nbsp;0;\n$i&nbsp;=1;\nforeach&nbsp;($keywords_arr&nbsp;as&nbsp;$_k)&nbsp;{\n$sql2&nbsp;=&nbsp;$sql.\"&nbsp;AND&nbsp;`keywords`&nbsp;LIKE&nbsp;'%$_k%'\".(isset($data['id'])&nbsp;&amp;amp;&amp;amp;&nbsp;intval($data['id'])&nbsp;?&nbsp;\"&nbsp;AND&nbsp;`id`&nbsp;!=&nbsp;'\".abs(intval($data['id'])).\"'\"&nbsp;:&nbsp;'');\n$r&nbsp;=&nbsp;$this-&amp;gt;db-&amp;gt;select($sql2,&nbsp;'*',&nbsp;$limit,&nbsp;$order,'','id');\n$number&nbsp;+=&nbsp;count($r);\nforeach&nbsp;($r&nbsp;as&nbsp;$id=&amp;gt;$v)&nbsp;{\nif($i&lt;p&gt;\u5176\u5b9e\u53ea\u662f\u5c06 $r = $this-&amp;gt;db-&amp;gt;select($sql2, '*', $limit, '','','id'); \u66ff\u6362\u4e3a\u4e86 $r = $this-&amp;gt;db-&amp;gt;select($sql2, '*', $limit, $order,'','id'); \u8ba9order\u53c2\u6570\u4f20\u5165\u67e5\u8be2\u65b9\u6cd5\u3002&lt;br&gt;\u5728\u6a21\u677f\u5f53\u4e2d\uff0c\u4f7f\u7528\u5982\u4e0b\u6807\u7b7e\uff0c\u52a0\u4e0aorder\u53c2\u6570\u5373\u53ef\u5b9e\u73b0\u6392\u5e8f\u4e86\u3002&lt;br&gt;&lt;\/p&gt;&lt;p&gt;&lt;span&gt;\u7acb\u5373\u5b66\u4e60&lt;\/span&gt;\u201c&lt;a href=\"https:\/\/pan.quark.cn\/s\/7fc7563c4182\" style=\"text-decoration: underline !important; color: blue; font-weight: bolder;\" rel=\"nofollow\" target=\"_blank\"&gt;PHP\u514d\u8d39\u5b66\u4e60\u7b14\u8bb0\uff08\u6df1\u5165\uff09&lt;\/a&gt;\u201d\uff1b&lt;\/p&gt;&lt;p&gt;\u4ee3\u7801\u5982\u4e0b:&lt;\/p&gt;&lt;pre class=\"brush:php;toolbar:false\"&gt;{pc:content&nbsp;action=\"relation\"&nbsp;relation=\"$relation\"&nbsp;id=\"$id\"&nbsp;catid=\"$catid\"&nbsp;num=\"5\"&nbsp;keywords=\"$rs[keywords]\"&nbsp;order=\"id&nbsp;DESC\"}\n{loop&nbsp;$data&nbsp;$r}\n{\/loop}\n{\/pc}<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u5982\u679c\u6709\u6d01\u7656\u7684\u670b\u53cb\uff0c\u62c5\u5fc3\u76f4\u63a5\u4fee\u6539PC\u4f1a\u5f71\u54cd\u672a\u6765\u5347\u7ea7\uff0c\u53ef\u4ee5\u5c06\u5176\u5355\u72ec\u63d0\u53d6\u51fa\u6765\u3002\u653e\u5230\u6a21\u677f\u4e2d\u5f53\u4f5c\u51fd\u6570\u4f7f\u7528\u3002\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n<p>\u4ee3\u7801\u5982\u4e0b:<\/p>\n<pre>&lt;?php \/**\n* \u5185\u5bb9\u6a21\u578b - \u76f8\u5173\u6587\u7ae0\u6807\u7b7e(\u4fee\u6b63\u6392\u5e8f\u5f02\u5e38\u95ee\u9898)\n* @param $data\n*\/\nfunction mk1_content_tag_relation($data) {\n$db = pc_base::load_model(&#039;content_model&#039;);\n$catid = intval($data[&#039;catid&#039;]);\n$siteids = getcache(&#039;category_content&#039;,&#039;commons&#039;);\nif(!$siteids[$catid]) return false;\n$siteid = $siteids[$catid];\n$category = getcache(&#039;category_content_&#039;.$siteid,&#039;commons&#039;);\nif(empty($category)) return false;\nif($category[$catid][&#039;type&#039;]!=0) return false;\n$db-&gt;set_model($category[$catid]['modelid']);\n$order&nbsp;=&nbsp;$data['order'];\n$sql&nbsp;=&nbsp;\"`status`=99\";\n$limit&nbsp;=&nbsp;$data['id']&nbsp;?&nbsp;$data['limit']+1&nbsp;:&nbsp;$data['limit'];\nif($data['relation'])&nbsp;{\n$relations&nbsp;=&nbsp;explode('|',trim($data['relation'],'|'));\n$relations&nbsp;=&nbsp;array_diff($relations,&nbsp;array(null));\n$relations&nbsp;=&nbsp;implode(',',$relations);\n$sql&nbsp;=&nbsp;\"&nbsp;`id`&nbsp;IN&nbsp;($relations)\";\n$key_array&nbsp;=&nbsp;$db-&amp;gt;select($sql,&nbsp;'*',&nbsp;$limit,&nbsp;$order,'','id');\n}&nbsp;elseif($data['keywords'])&nbsp;{\n$keywords&nbsp;=&nbsp;str_replace('%',&nbsp;'',$data['keywords']);\n$keywords_arr&nbsp;=&nbsp;explode('&nbsp;',$keywords);\n$key_array&nbsp;=&nbsp;array();\n$number&nbsp;=&nbsp;0;\n$i&nbsp;=1;\nforeach&nbsp;($keywords_arr&nbsp;as&nbsp;$_k)&nbsp;{\n$sql2&nbsp;=&nbsp;$sql.\"&nbsp;AND&nbsp;`keywords`&nbsp;LIKE&nbsp;'%$_k%'\".(isset($data['id'])&nbsp;&amp;amp;&amp;amp;&nbsp;intval($data['id'])&nbsp;?&nbsp;\"&nbsp;AND&nbsp;`id`&nbsp;!=&nbsp;'\".abs(intval($data['id'])).\"'\"&nbsp;:&nbsp;'');\n$r&nbsp;=&nbsp;$db-&amp;gt;select($sql2,&nbsp;'*',&nbsp;$limit,&nbsp;$order,'','id');\n$number&nbsp;+=&nbsp;count($r);\nforeach&nbsp;($r&nbsp;as&nbsp;$id=&amp;gt;$v)&nbsp;{\nif($i<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u5728\u6a21\u677f\u4e2d\uff0c\u4f7f\u7528\u5982\u4e0bPHP\u4ee3\u7801\u83b7\u53d6\u5373\u53ef\u3002<\/p>\n<p>\u4ee3\u7801\u5982\u4e0b:<\/p>\n<pre>{php&nbsp;$data&nbsp;=&nbsp;mk1_content_tag_relation(array('relation'=&amp;gt;$relation,'id'=&amp;gt;$id,'catid'=&amp;gt;$catid,'keywords'=&amp;gt;$rs['keywords'],'order'=&amp;gt;'id&nbsp;DESC','limit'=&amp;gt;'4'));&nbsp;}\n{loop&nbsp;$data&nbsp;$r}\n{\/loop}<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u5176\u5b9e\u53ea\u662f\u4e00\u4e2a\u5c0f\u95ee\u9898\uff0cPC\u5728\u672a\u6765\u5e94\u8be5\u4f1a\u8fdb\u884c\u4fee\u6b63\u7684\uff0c\u4ee5\u4e0a\u65b9\u6cd5\u63d0\u4f9b\u7ed9\u90a3\u4e9b\u5fc3\u6025\u7684\u7ad9\u957f\u670b\u53cb\u4eec\u3002<\/p>\n<p>\u63a8\u8350\u6559\u7a0b\uff1a\u300a\u300b<\/p>\n<p>\u4ee5\u4e0a\u5c31\u662fphpcms\u5173\u8054\u6587\u7ae0\u6392\u5e8f\u4e0d\u53d8\u600e\u4e48\u529e\uff1f\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>phpcms\u6392\u5e8f\u4e0d\u53d8\u600e\u4e48\u529e\uff1f phpcms\u5173\u8054\u6587\u7ae0\u6392\u5e8f\u4e0d\u53d8\u95ee\u9898\u7684\u4fee\u6539\u65b9\u6cd5\uff1a \u6253\u5f00 phpcms\/modules\/content\/classes\/content_tag.class.php \u5185\u5bb9\u6a21\u578b\u6807\u7b7e\u7c7b\uff0c\u53d1\u73b0\u8be5\u6807\u7b7e\u4ec5\u5728\u5185\u5bb9\u5b58\u5728\u4eba\u4e3a\u8bbe\u7f6e\u7684\u76f8\u5173\u9605\u8bfb\u65f6\uff0c\u5219\u4f9d\u7167order\u53c2\u6570\u8fdb\u884c\u6392\u5e8f\u3002\u800c\u5f53\u5185\u5bb9\u4e0d\u5b58\u5728\u4eba\u4e3a\u8bbe\u7f6e\u7684\u76f8\u5173\u9605\u8bfb\u65f6\uff0c\u5219\u6309\u7167\u5173\u952e\u5b57\u8fdb\u884c\u67e5\u8be2\uff0c\u4f46\u6b64\u65f6\u5e76\u6ca1\u6709\u6309\u7167order\u53c2\u6570\u8fdb\u884c\u6392\u5e8f\u3002\u800c\u662f\u4e0d\u8fdb\u884c\u6392\u5e8f\u3002\u8fd9\u4e5f\u5c31\u662f\u4e3a\u4ec0\u4e48\u6587\u7ae0\u8c03\u7528\u7684\u76f8\u5173\u9605\u8bfb\u603b\u662f\u90a3\u4e48\u9648\u65e7\u7684\u539f\u56e0\u4e86\u3002 \u4fee\u6b63\u8be5\u95ee\u9898\u7684\u65b9\u6cd5\u5982\u4e0b\uff1a\u4fee\u6539 phpcms\/modules\/content\/classes\/content_tag.class.php \u5185\u5bb9\u6a21\u578b\u6807\u7b7e\u7c7b\u6587\u4ef6\uff0c\u5c06 content_tag \u7c7b\u4e2d relation \u65b9\u6cd5\u4fee\u6539\u4e3a\uff1a \u4ee3\u7801\u5982\u4e0b: \/** *&nbsp;\u76f8\u5173\u6587\u7ae0\u6807\u7b7e *&nbsp;@param&nbsp;$data *\/ public&nbsp;function&nbsp;relation($data)&nbsp;{ $catid&nbsp;=&nbsp;intval($data[&#8216;catid&#8217;]); if(!$this-&amp;gt;set_modelid($catid))&nbsp;return&nbsp;false; $order&nbsp;=&nbsp;$data[&#8216;order&#8217;]; $sql&nbsp;=&nbsp;&#8220;`status`=99&#8243;; $limit&nbsp;=&nbsp;$data[&#8216;id&#8217;]&nbsp;?&nbsp;$data[&#8216;limit&#8217;]+1&nbsp;:&nbsp;$data[&#8216;limit&#8217;]; if($data[&#8216;relation&#8217;])&nbsp;{ $relations&nbsp;=&nbsp;explode(&#8216;|&#8217;,trim($data[&#8216;relation&#8217;],&#8217;|&#8217;)); $relations&nbsp;=&nbsp;array_diff($relations,&nbsp;array(null)); $relations&nbsp;=&nbsp;implode(&#8216;,&#8217;,$relations); $sql&nbsp;=&nbsp;&#8221;&nbsp;`id`&nbsp;IN&nbsp;($relations)&#8221;; $key_array&nbsp;=&nbsp;$this-&amp;gt;db-&amp;gt;select($sql,&nbsp;&#8216;*&#8217;,&nbsp;$limit,&nbsp;$order,&#8221;,&#8217;id&#8217;); }&nbsp;elseif($data[&#8216;keywords&#8217;])&nbsp;{ $keywords&nbsp;=&nbsp;str_replace(&#8216;%&#8217;,&nbsp;&#8221;,$data[&#8216;keywords&#8217;]); $keywords_arr&nbsp;=&nbsp;explode(&#8216;&nbsp;&#8216;,$keywords); $key_array&nbsp;=&nbsp;array(); $number&nbsp;=&nbsp;0; $i&nbsp;=1; foreach&nbsp;($keywords_arr&nbsp;as&nbsp;$_k)&nbsp;{ $sql2&nbsp;=&nbsp;$sql.&#8221;&nbsp;AND&nbsp;`keywords`&nbsp;LIKE&nbsp;&#8216;%$_k%'&#8221;.(isset($data[&#8216;id&#8217;])&nbsp;&amp;amp;&amp;amp;&nbsp;intval($data[&#8216;id&#8217;])&nbsp;?&nbsp;&#8221;&nbsp;AND&nbsp;`id`&nbsp;!=&nbsp;&#8216;&#8221;.abs(intval($data[&#8216;id&#8217;])).&#8221;&#8216;&#8221;&nbsp;:&nbsp;&#8221;); $r&nbsp;=&nbsp;$this-&amp;gt;db-&amp;gt;select($sql2,&nbsp;&#8216;*&#8217;,&nbsp;$limit,&nbsp;$order,&#8221;,&#8217;id&#8217;); $number&nbsp;+=&nbsp;count($r); foreach&nbsp;($r&nbsp;as&nbsp;$id=&amp;gt;$v)&nbsp;{ if($i&lt;p&gt;\u5176\u5b9e\u53ea\u662f\u5c06 $r = $this-&amp;gt;db-&amp;gt;select($sql2, &#8216;*&#8217;, $limit, &#8221;,&#8221;,&#8217;id&#8217;); \u66ff\u6362\u4e3a\u4e86 $r = $this-&amp;gt;db-&amp;gt;select($sql2, &#8216;*&#8217;, $limit, $order,&#8221;,&#8217;id&#8217;); \u8ba9order\u53c2\u6570\u4f20\u5165\u67e5\u8be2\u65b9\u6cd5\u3002&lt;br&gt;\u5728\u6a21\u677f\u5f53\u4e2d\uff0c\u4f7f\u7528\u5982\u4e0b\u6807\u7b7e\uff0c\u52a0\u4e0aorder\u53c2\u6570\u5373\u53ef\u5b9e\u73b0\u6392\u5e8f\u4e86\u3002&lt;br&gt;&lt;\/p&gt;&lt;p&gt;&lt;span&gt;\u7acb\u5373\u5b66\u4e60&lt;\/span&gt;\u201c&lt;a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-31496","post","type-post","status-publish","format-standard","hentry","category-cms"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/31496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=31496"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/31496\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=31496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=31496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=31496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}