<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>zblog主题</title><link>https://liaojinhua.com/</link><description>zblog仿站</description><item><title>简短大气企业主题</title><link>https://liaojinhua.com/post/1098.html</link><description>&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://liaojinhua.com/zb_users/upload/2026/02/202602031770092723348624.jpg&quot; title=&quot;zblog主题 - zblog仿站.jpg&quot; alt=&quot;zblog主题 - zblog仿站.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;主题浏览：http://ddd.shenhuwei.com/&lt;/p&gt;</description><pubDate>Tue, 03 Feb 2026 12:25:08 +0800</pubDate></item><item><title>zblog查询标签ID下的文章的SQL语句优化+索引</title><link>https://liaojinhua.com/post/1097.html</link><description>&lt;p&gt;今天使用Z-Blog写某个功能的时候需要查询某个标签下的所有文章，发现使用like模糊搜索的时候速度是很慢的，根本就无法使用 ，平均耗时6s+, 遇到这种情况不解决肯定是不行的。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;首先肯定是找万能的百度，搜索一番并没有发现zblog搜索包含标签ID的文章&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;此文仅做记录使用，遇到此问题的童鞋可以借鉴，如果大家有更好的优化方案也可以留言分享。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;测试网站的各项数据&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;文章数量：25W+&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;标签数量：300左右&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;ng+php8+mysql5.7&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;标签并不多，但是文章有25W了，因为标签ID是以字符串形式存储的 {1},{2},{3} 又没有索引，导致查询的时候全表扫描 效率低下。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;最开始使用的方法：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;$tagID&amp;nbsp;=&amp;nbsp;1;
$w&amp;nbsp;=&amp;nbsp;array();
$w[]&amp;nbsp;=&amp;nbsp;array(&amp;#39;like&amp;#39;,&amp;nbsp;&amp;#39;log_Tag&amp;#39;,&amp;nbsp;&amp;quot;%{$tagID}%&amp;quot;);
//&amp;nbsp;平均耗时6s&lt;/pre&gt;&lt;p&gt;优化方法：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;//&amp;nbsp;创建log_Tag字段的索引
$zbp-&amp;gt;db-&amp;gt;Query(&amp;quot;ALTER&amp;nbsp;TABLE&amp;nbsp;zbp_post&amp;nbsp;ADD&amp;nbsp;INDEX&amp;nbsp;(log_Tag)&amp;quot;);
$tagID&amp;nbsp;=&amp;nbsp;1;
$w&amp;nbsp;=&amp;nbsp;array();
$w[]&amp;nbsp;=&amp;nbsp;array(&amp;quot;(1&amp;nbsp;=&amp;nbsp;1)&amp;nbsp;AND&amp;nbsp;(&amp;nbsp;log_Tag&amp;nbsp;in&amp;nbsp;(SELECT&amp;nbsp;log_Tag&amp;nbsp;FROM&amp;nbsp;zbp_post&amp;nbsp;WHERE&amp;nbsp;log_Tag&amp;nbsp;LIKE&amp;nbsp;&amp;#39;%{$id}%&amp;#39;))&amp;quot;);&lt;/pre&gt;&lt;p&gt;这样就会走索引，实现秒开效果。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;如果需要添加其他的查询条件 如：log_Type log_Status log_CateID等需要注意，添加不当是不会走索引的。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;事实证明当文章和标签量持续增加时，应避免使用模糊查找。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 09 Nov 2025 13:54:49 +0800</pubDate></item><item><title>zblog保存的自定义字段数据转换为对象调用</title><link>https://liaojinhua.com/post/1096.html</link><description>&lt;p&gt;通常我们做主题或插件的时候，或多或少都会使用自定义字段数据；一般都是保存在xxx_Meta字段下的序列化数据；如果是单独的一个数据的话那我们可以直接调用，如果保存的是数组每次输出数据都会以数组格式调用，如：$data=$article-&amp;gt;Metas-&amp;gt;zbblog; $data[&amp;#39;name&amp;#39;]; 这样麻烦而且不高效；所以我们可以转为对象格式调用。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;我们先看下面的一个案例，看完应该就差不多明白了；&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;//&amp;nbsp;首先这是一段zblog发布文章时保存自定义数据的代码，只摘了其中几段最主要的。
//&amp;nbsp;$zbblog=&amp;nbsp;GetVars(&amp;#39;zbblog&amp;#39;,&amp;nbsp;&amp;#39;POST&amp;#39;);
//&amp;nbsp;我们这里以下面这个数组为例；
$zbblog&amp;nbsp;=&amp;nbsp;array(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;name&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;小明&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;age&amp;#39;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;20,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;sex&amp;#39;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;name&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;小红&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;age&amp;#39;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;18,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;sex&amp;#39;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;0,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
);
if(is_array($zbblog)){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$zbblog=&amp;nbsp;json_decode(json_encode($zbblog),&amp;nbsp;FALSE);//&amp;nbsp;首先把数组编码为json文本，然后把json数据解码，第二个参数为false时返回对象；
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$article-&amp;gt;Metas-&amp;gt;zbblog&amp;nbsp;=&amp;nbsp;$zbblog;&amp;nbsp;//保存对象数据，下次读取时就不用转换了；
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$article-&amp;gt;Save();
}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;下面就是调用数据，直接以对象形式输出 是不是方便快捷了许多？&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markup&quot;&gt;$html&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;;
if&amp;nbsp;($data&amp;nbsp;=&amp;nbsp;$article-&amp;gt;Metas-&amp;gt;zbblog)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach&amp;nbsp;($data&amp;nbsp;as&amp;nbsp;$k&amp;nbsp;=&amp;gt;&amp;nbsp;$v)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$html&amp;nbsp;.=&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;input&amp;nbsp;type=&amp;quot;text&amp;quot;&amp;nbsp;name=&amp;quot;zbblog[&amp;#39;&amp;nbsp;.&amp;nbsp;$k&amp;nbsp;.&amp;nbsp;&amp;#39;][name]&amp;quot;&amp;nbsp;value=&amp;quot;&amp;#39;&amp;nbsp;.&amp;nbsp;$v-&amp;gt;name.&amp;nbsp;&amp;#39;&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;input&amp;nbsp;type=&amp;quot;text&amp;quot;&amp;nbsp;name=&amp;quot;zbblog[&amp;#39;&amp;nbsp;.&amp;nbsp;$k&amp;nbsp;.&amp;nbsp;&amp;#39;][age]&amp;quot;&amp;nbsp;value=&amp;quot;&amp;#39;&amp;nbsp;.&amp;nbsp;$v-&amp;gt;age.&amp;nbsp;&amp;#39;&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;input&amp;nbsp;type=&amp;quot;text&amp;quot;&amp;nbsp;name=&amp;quot;zbblog[&amp;#39;&amp;nbsp;.&amp;nbsp;$k&amp;nbsp;.&amp;nbsp;&amp;#39;][sex]&amp;quot;&amp;nbsp;value=&amp;quot;&amp;#39;&amp;nbsp;.&amp;nbsp;$v-&amp;gt;sex.&amp;nbsp;&amp;#39;&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;$html;
}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 09 Nov 2025 13:53:07 +0800</pubDate></item><item><title>js异步提交表单防止刷新，体验更友好</title><link>https://liaojinhua.com/post/1095.html</link><description>&lt;p&gt;正在情况下，提交表单都会刷新页面，普通的表单来说没什么，但是如果主题或者插件配置项很多的话，新用户第一次用，难免需要很多的配置，每次保存后，测试查看效果，然后翻了很长页面找到之前的配置项后再次配置测试，这样想想都很累，我之前用了一个typecho主题就是这样子……&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;现在有了这个js就会方便很多，异步提交表单，不刷新页面。不需要改动任何代码，添加这个js就可以了。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-javascript&quot;&gt;$(&amp;#39;[type=submit]&amp;#39;).click(function(){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&amp;nbsp;_this&amp;nbsp;=&amp;nbsp;$(this);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&amp;nbsp;form&amp;nbsp;=&amp;nbsp;_this&amp;nbsp;.parents(&amp;#39;form&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&amp;nbsp;action&amp;nbsp;=&amp;nbsp;form.attr(&amp;quot;action&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&amp;nbsp;btntext&amp;nbsp;=&amp;nbsp;_this.val();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_this.attr(&amp;#39;disabled&amp;#39;,&amp;#39;disabled&amp;#39;).val(&amp;#39;正在保存...&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$.post(action,form.serialize(),function(res){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_this.removeAttr(&amp;#39;disabled&amp;#39;).val(btntext);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;false;
})&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 09 Nov 2025 13:51:29 +0800</pubDate></item><item><title>Z-BlogPHP统计文章总字数的代码</title><link>https://liaojinhua.com/post/1094.html</link><description>&lt;p&gt;在Z-Blog中想统计当前文章总字数的实现方法，下面罗列两种方法均可统计字数，具体代码如下：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;方法一&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;{php}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$diycontent=trim(FormatString($article-&amp;gt;Content,&amp;#39;[nohtml]&amp;#39;));&amp;nbsp;//先过滤一下html标签
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;iconv_strlen($diycontent,&amp;nbsp;&amp;#39;utf-8&amp;#39;);&amp;nbsp;//统计字数&amp;nbsp;iconv
{/php}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;方法二&lt;/p&gt;&lt;p&gt;// \x80-\xff：匹配用GBK (GB2312/GB18030)编码的所有汉字和全角标点符号替换为空格，然后统计字数；&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;{php}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$num&amp;nbsp;=&amp;nbsp;(int)strlen(preg_replace(&amp;#39;/[\x80-\xff]{1,3}/&amp;#39;,&amp;nbsp;&amp;#39;&amp;nbsp;&amp;#39;,&amp;nbsp;FormatString($article-&amp;gt;Content,&amp;#39;[nohtml]&amp;#39;),&amp;nbsp;-1));&amp;nbsp;//字数统计
{/php}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;方法三&lt;/p&gt;&lt;p&gt;发现其实zblog自带字数统计函数... 推荐用这个&lt;/p&gt;&lt;p&gt;Zbp_StrLen($string)&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 09 Nov 2025 13:49:48 +0800</pubDate></item><item><title>建筑工程企业网站主题</title><link>https://liaojinhua.com/post/1093.html</link><description>&lt;p&gt;建筑工程企业网站主题，限时赠送&lt;/p&gt;&lt;p&gt;演示网址：&lt;a href=&quot;http://jiayuangc.com/&quot; _src=&quot;http://jiayuangc.com/&quot;&gt;http://jiayuangc.com/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://liaojinhua.com/zb_users/upload/2025/10/202510111760166073127567.jpg&quot; title=&quot;360截图20251011150042663.jpg&quot; alt=&quot;360截图20251011150042663.jpg&quot;/&gt;&lt;/p&gt;</description><pubDate>Sat, 11 Oct 2025 14:59:02 +0800</pubDate></item><item><title>博客资讯主题，限时免费赠送</title><link>https://liaojinhua.com/post/1092.html</link><description>&lt;p&gt;启明SEO博客主题，限时免费赠送&lt;/p&gt;&lt;p&gt;演示地址：&lt;a href=&quot;http://shenhuwei.com/&quot; _src=&quot;http://shenhuwei.com/&quot;&gt;http://shenhuwei.com/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://liaojinhua.com/zb_users/upload/2025/10/202510111760165825147159.jpg&quot; title=&quot;启明SEO博客主题&quot; alt=&quot;启明SEO博客主题&quot; width=&quot;1529&quot; height=&quot;1009&quot; border=&quot;0&quot; vspace=&quot;0&quot; style=&quot;width: 1529px; height: 1009px;&quot;/&gt;&lt;/p&gt;</description><pubDate>Sat, 11 Oct 2025 14:55:49 +0800</pubDate></item><item><title>网站建设，网站优化主题限时免费送</title><link>https://liaojinhua.com/post/1091.html</link><description>&lt;p&gt;网站建设、网站SEO主题，限时免费赠送&lt;/p&gt;&lt;p&gt;演示网址：&lt;a href=&quot;http://www.xiaoliangzhu.com&quot; target=&quot;_self&quot;&gt;http://www.xiaoliangzhu.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://liaojinhua.com/zb_users/upload/2025/10/202510111760165667171799.jpg&quot; title=&quot;网站建设，网站优化主题限时免费送&quot; alt=&quot;网站建设，网站优化主题限时免费送&quot; width=&quot;1892&quot; height=&quot;894&quot; border=&quot;0&quot; vspace=&quot;0&quot; style=&quot;width: 1892px; height: 894px;&quot;/&gt;&lt;/p&gt;</description><pubDate>Sat, 11 Oct 2025 14:52:57 +0800</pubDate></item><item><title>为什么大家喜欢用zblog仿站？</title><link>https://liaojinhua.com/post/1090.html</link><description>&lt;p&gt;在国内，如果要仿站，大家最喜欢用的还是zblog。为什么zblog为什么这么受欢迎呢？&lt;/p&gt;&lt;p&gt;首先，zblog一直都有专业的团队在维护升级，性能上虽然不是非常完美，但是已经非常不错了。其次，zblog的设计非常符合SEO优化。使用zblog建站，关键词的排名优化会有更好的效果。&lt;/p&gt;&lt;p&gt;所以，在国内，大部分站长仿站，都会选择zblog。&lt;/p&gt;</description><pubDate>Fri, 05 Sep 2025 10:17:34 +0800</pubDate></item><item><title>zblog仿站要多久</title><link>https://liaojinhua.com/post/1089.html</link><description>&lt;p&gt;使用zblog仿站需要多长时间，主要看看需要仿一个怎样的网站。如果一般的博客、企业类网站主题，一般情况下，一天左右时间就可以搞定。如果是大商城类的主题，则需要多一些时间。&lt;/p&gt;</description><pubDate>Fri, 05 Sep 2025 10:14:11 +0800</pubDate></item></channel></rss>