汇总一下zblog程序插件开发常用的系统函数

25次阅读
2024年09月03日 08:49:33

共计 3796 个字符,预计需要花费 10 分钟才能阅读完成。

其实zblog很多功能系统都设置好了,只需要简单调用一下就可以完成操作,当然一种操作可能会有很多种调用方法,这里我只介绍我认为最简单的方法。

文章相关

获取、修改文章

$aritcle = GetPost((int)2); //获得文章对象,传入文章ID,必须用(int)转换为整数 echo '文章浏览数量'.$article->ViewNums; //获得文章浏览数量 //修改文章 $article->Title = '新标题'; //修改文章内容 $article->Metas->keywords = '内容'; //修改扩展内容 $article->Save(); //执行保存

如果是修改文章内容,一般只需要三行代码:

  • 获取文章对象 $article = GetPost((int)2)
  • 设置新内容 $article->Title = ‘xxx’;
  • 保存 $article->Save()

如果只是获取一个文章标题,简写方法:GetPost((int)2)->Title

不推荐用法:如果还要要调用其它内容,千万不能用同样的方法,比如:

echo '标题:'.GetPost((int)2)->Title; echo '正文:'.GetPost((int)2)->Content;

这样多写一次,数据库就会多查询一次。正确的做法应该是将对象赋值给一个变量,再操作。

正确做法:

$article = GetPost((int)2); echo '标题:'.$article->Title; echo '正文:'.$article->Content;

获取文章列表

GetList 函数

GetList(5,3); //获取ID为3的分类中的5篇文章

不传入任何参数,默认获取网站最新的10篇文章

函数返回的值是数组,每个数组的值就是一篇文章的对象。可以用foreach进行遍历获取

foreach (GetList(5,3) as $article){ echo '标题:'.$aricle->Title; }

这里也可以直接赋值对象属性进行文章修改。

foreach (GetList(5,3) as $article){ echo '标题:'.$aricle->Title; $article->Title = '新标题'; $article->Save(); }

获取文章分类对象、作者对象、标签、相关文章

$aritcle = GetPost((int)2); //文章对象 echo $article->Category->Name; //文章分类名称 echo $article->Category->Url; //文章分类url echo $article->Author->StaticName; //获取作者的昵称 echo $article->Author->Url; //获取用户页面url echo $article->TagsName; //获取文章标签。形式:标签1,标签2,标签3 echo $article->Tags; //获取文章标签,返回的是数组,用foreach遍历可获得标签url echo $article->TagsCount; //获取文章有多少个标签 $related = $article->RelatedList; //获取相关文章(相关关系:相同标签)返回的是数组,用foreach遍历

上面获取分类名称、Url和作者昵称、Url这样的写法结果都正常,但是不推荐这样写。这样会让后台多执行一次数据库查询,应该将$article->Category赋值给一个变量,再访问变量的属性。

删除文章

$_GET['id'] = 2; //设置文章ID DelArticle(); //删除文章函数

很简单,就两行代码,就可以操作。

这上面的函数只能删除文章,不能删除页面。删除页面用函数:DelPage()

删除某个文章下的所有评论

DelArticle_Comments(2); //设置文章ID

直接传入文章ID就可以删除

分类相关

获得、修改分类

$cate = $zbp->GetCategoryByID(3); //根据分类ID $cate = $zbp->GetCategoryByName('教程'); //根据分类名称 $cate = $zbp->GetCategoryByAlias('jiaocheng'); //根据分类别名 echo '分类名称'.$cate->Name; echo '分类链接'.$cate->Url; //修改分类名称 $cate->Name = '新名称'; $cate->Save(); //保存

获得子孙分类(获得向下的两层分类)

$cate = $zbp->GetCategoryByID(3); //传入文章ID $array = $cate->ChildrenCategories; //获得子孙分类的数组对象 foreach ($array as $category){ echo 'ID:'.$category->ID; echo '名称'.$category->Name; }

如果ChildrenCategories获得的是一个空数组,必须在之前加载zbp对象。$zbp->Load();

获得父分类对象

$cate = $zbp->GetCategoryByID(3); $parent = $cate->Parent; echo '父分类名称:'.$parent->Name;

删除分类

$_GET['id'] = 3; //设置要删除的分类ID DelCategory(); //执行删除函数

删除某个分类下的所有文章

DelCategory_Articles(3); //删除分类ID为3的下面所有文章

用户相关

获得用户对象、修改用户

$member = $zbp->GetMemberByID(5); //根据用户ID $member = $zbp->GetMemberByName('admin'); //根据用户账号 $member = $zbp->GetMemberByNameOrAlias('鹿泽笔记'); //根据用户昵称 $member = $zbp->GetMemberByEmail('526009505@qq.com'); //根据邮箱 $member->Email = '526009505@qq.com'; //修改用户邮箱 $member->Save(); //保存

如果除了ID,如果传入的值,在表中包含多个,则只会返回其中一个。比如邮箱,如果多个用户是同一个邮箱,返回的只会是其中一个。

修改当前登录的用户数据

$zbp->user->Email = '526009505@qq.com'; //修改邮箱 $zbp->user->Alias = '鹿泽笔记'; //修改昵称 $zbp->user->Save(); //保存修改 //模板里可以这样 $user->Email = '526009505@qq.com'; //修改邮箱 $user->Alias = '鹿泽笔记'; //修改昵称 $user->Save(); //保存修改

删除用户

$_GET['id'] = 5; //设置要删除的用户ID DelMember();

删除用户的数据

DelMember_AllData(5); //传入用户的ID

删除用户下所有数据(包括文章、评论、附件)

其它

获取访客IP

echo GetGuestIP(); //ip地址

获取用户浏览器UA

echo GetGuestAgent(); //Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36

获取url页面内容

echo GetHttpContent('https://www.bailuze.com/'); //返回html纯文本内容

有人会说file_get_contents()函数不就可以吗,但是万一要的页面出现404 500这些错误,后台直接就报错了,除非在传入其它参数来阻止报错。这么费事还不如直接用zblog的函数。如果出现错误,则返回null

获得参数值

GetVars('name','POST'); //就相当于 $_POST('name'); GetVars('act','GET'); //就相当于 $_GET('name'); GetVars('token','COOKIE'); //就相当于 $_COOKIE('token'); GetVars('token','XXX'); //就相当于 $_XXX('token');

尽量不要用$_XXX这样的方式去获取数据,万一这个key不存在就报错了。而这个函数不对,会直接返回null

输出json

/** * 以JSON形式输出错误信息. * * @param string $errorCode 错误编号 * @param string $errorString 错误内容 * @param object */ JsonError($errorCode, $errorString, $data);
JsonError(1,'上传成功',array('url'=>'https://www.bailuze.com/1.png')) //输出json {"data":{"url":"https:\/\/www.bailuze.com.com\/1.png"},"err":{"code":1,"msg":"\u4e0a\u4f20\u6210\u529f","timestamp":1558428174}}
正文完
 0
鹿泽
版权声明:本站原创文章,本文由 鹿泽 于 2024年9月3日 08:49:33 发表,共计 3796 字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
最新文章
WordPress 分类和标签 SEO 策略和实施方法

WordPress 分类和标签 SEO 策略和实施方法

分类和标签优化是SEO优化中绕不开的话题,如果优化得比较好,分类和标签可以为我们的网站带来相当多的搜索引擎流量...
WordPress SEO 优化之标签优化技巧

WordPress SEO 优化之标签优化技巧

今天我们来说一下 WordPress 文章标签优化的事情。在很多 WordPress SEO 优化教程中,都会...
WordPress SEO 之站外链接建设方法和技巧

WordPress SEO 之站外链接建设方法和技巧

站外链接(简称外链)是 WordPress SEO 过程中必不可少的一项工作,怎么做外链,从哪些方面着手,很多...
一次性删除WordPress文章所有评论的方法

一次性删除WordPress文章所有评论的方法

不少小伙伴在建设WordPress站点的时候都会开启文章评论等,作为网站良好的一个互动。但是这也给了很多垃圾评...
WordPress前台显示登录用户注册时间的方法

WordPress前台显示登录用户注册时间的方法

正常WordPress前台和后台都不会显示用户的注册时间,有时需要在前台显示登录用户的注册时间,可以用下面的代...