分类: 学习

  • DeepSeek:从入门到精通

    DeepSeek是什么?

    DeepSeek能够做什么?

    如何使用DeepSeek?

    回复预览下载PDF

    [content_hide]

    [/content_hide]

  • Chat Gpt 注册教程,包含如何使用境外手机号进行注册

    ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码等任务。

    ChatGPT 以其强大的信息整合和对话能力惊艳了全球,在自然语言处理上面表现出了惊人的能力。这么强大的工具我们都想体验一下,那么 ChatGPT 怎么用呢?本文将给你逐步详细介绍。

    使用 ChatGPT 主要有4步:

    1. 注册 ChatGPT 账号
    2. 通过短信接码平台 sms-activate.org 完成 ChatGPT 手机号验证
    3. 登录 ChatGPT 账号,对话框输入,开始使用 Chat GPT !
    4. 输入任意话题,探索 ChatGPT 的强大功能

    好了,我们开始逐步图文介绍。

    1.注册 Chat GPT 账号

    注冊ChatGPT这一步主要包含以下几步(需要按照顺序逐步操作):

    1. 将网络环境切换成国外ip(注意:必须是国外 ip 如美国、加拿大等,香港澳门 ip 是不行的),且后续整个注册流程都必须在此网络环境下进行。
    2. 打开 https://chat.openai.com/auth/login 链接并使用自己的邮箱进行账号注册
    3. 打开邮箱查收 OpenAI 账号验证邮件,点击验证按钮完成邮箱验证

    邮箱验证完成后,我们第一步注册 ChatGPT 账号就算完成了,但是到这里我们还不能开始使用 ChatGPT,因为我们还需要进行手机号码验证。没有通过手机号码验证是使用不了 OpenAI(ChatGPT的开发商) 的服务的。
    因为OpenAI官方的限制,国内和港澳的手机号码还有 Google Voice 的虚拟号码都是不能使用的。
    这时候就要用到下一步的接码平台。

    那要怎么验证呢,请看下一步。

    2.完成 ChatGPT 手机号码验证

    这一步需要用到接码平台完成手机号验证,推荐平台链接地址:sms-activate.org
    具体过程包含以下几步:

    1. 通过自己的邮箱注册 http://sms-activate.org 账号并完成邮箱验证(其他接码平台也可以,可以自行研究)
    2. 打开邮箱查收验证邮件并点击确认完成 http://sms-activate.org 账号认证
    3. 登录sms-activate并且在右上角找到充值按钮,点击进行充值
    4. 点击充值跳转后,往下滑找到支付宝,这里建议大家充值0.2美金就可以了(不够用再充)。
    5. 充值好了以后回到首页搜索「open」关键字就可以找到 OpenAI 验证码的临时号码购买链接。
    6. 在右侧激活区看到待使用的临时号码,将此号码复制到 OpenAI 的验证码接收区里面。
    7. 在 OpenAI 的页面点击发送验证码,这样就可以在接码平台接收到验证码(有时候有一点慢需要耐心等待一下),将验证码填进去,这样就完成 ChatGPT 手机号验证了。

    这一步比较长,但是操起其实也不复杂,简单说就是通过接码平台收验证码完成验证,大家只要按照步骤操作就能成功。
    当然啦,如果嫌麻烦的朋友可以直接移步某宝购买一个现成的账号,效果是一样的。

    打开邮箱找到验证邮件

    历经千辛万苦,我们终于可以开始使用 ChatGPT 啦,恭喜!

    3.登录 ChatGPT 账号并开始使用

    注册完后,我们去 ChatGPT 网站去登陆: https://chat.openai.com/auth/login
    输入我们上面第一步注册好的账号密码就可以成功登录。

    登录以后我们会进入到 ChatGPT 的主界面,在屏幕的正下方就是我们使用 ChatGPT 的输入对话框,ChatGPT采用交互式对话界面,使用非常便捷友好,你可以任意输入你感兴趣的内容并敲回车,ChatGPT 将会回答你

  • Ai智能绘图Midjourney,注册教程

    Ai智能绘图Midjourney,注册教程

    使用 Midjourney 首先需要创建Discord账号,Midjourney和Discord的关系就像小程序和微信的关系一样。

    国内网络无法直接访问Discord,这就需要你家网络会“魔法”(梯子)。

    ①打开谷歌网站,输入“Midjourney”并回车。(PS:如下图)

    进去以后出现了一张比百度干净整洁百倍的精准内容(PS:一点也不夸张的说),找到图中红箭头所指向的内容点击打开就OK了。

    ②打开Midjourney网站之后,选择第二项“Sign In” (当然,你也可以选择第一个,前提是你已经注册过Discord)

    下面这张图为翻译成中文的界面(PS:谷歌的网页翻译功能简直是YYDS!)

    新用户打开下方的“注册”,老用户回避一下。(自动跳转到Discord登录界面的,Midjourney跟Discord的关系可以看作是微信与小程序的关系,Discord是微信,Midjourney是小程序。)

    使用你常用的邮箱注册Discord账号,用户名、密码、出生年月都输入完之后点击“继续”。

    划重点:

    邮箱:建议使用Gmail、Outlook邮箱,国内邮箱不能注册;

    用户名:用英文字母就行啦,别整那些个性化的文字了,没啥意思;

    密码:建议使用字母+数字+符号组合,以防不测;

    出生日期:年龄最好填写18周岁以上,不要胡乱填写,以后说不定有用。

    至于邮箱账号怎么来?

    老铁,都什么时代了,不会的都去百度一下!

    这是“人机验证”,放置机器人注册的,你只要按照提示证明你不是机器人就可以咯。

    ④没有什么好解释的,允许“授权”就行啦,不会的请看下图。

    划重点:

    如果授权以后出现下图内容,你莫要慌,先打开你的邮箱找到刚刚Discord给你发的验证邮件,点击激活授权一下就可以啦。

    找到这封邮件,验证电子邮箱就可以了。

    在这一步也会遇到一个“人机验证”,按照它的提示操作就行了!

    ⑤接下来进入正题,Discord网页版操作为例(手机版一样)。

    Discord 你可以亲自创建,也可以加入其他平台模版。

    划重点:

    在这里如果你直接直接登陆进去,在下方输入代码时,是没有Midjourney频道的,(PS:我就犯了这个错 )

    这个时候需要推出账号,返回登陆界面,选择登陆,进入以后,就看到Midjourney 频道啦!输入邮箱、密码就可以了。

    ⑥进入Midjourney频道, 选择频道栏#Newbies-xx,进入新手测试频道。


    ⑦现在只需要在输入框输入/imagine+图片描述语(prompt),就可以开启AI智能绘图之旅啦!


    ⑧在prompt后输入想要画面的关键词(英文),输入完成后,回车发送。


    ⑨ 等待 Midjourney 机器人处理你的需求,通常需要一分钟左右的时间,生成四个基于你的文本描述的图片。


    ⑩生成完成后,会出现两排按钮,U是放大图片,U1\U2\U3\U4分别指的是放大四张图片中的某一张V是采用图片的构图形式,重新生成,顺序参考如下图。

    最后一步保存图片方法,点击生成图片,左下角“打开原图”, 右键并选择 “图片另存为”,即可保存到你的本地电脑。

    好了,Midjourney基本操作流程就是这样,到这里基本上注册环节就讲完了。下面分享几张由Midjourney生成的图片。

    batman,cemetery,dead bat,dark,sunset,sunken ship
    masked rich exotic princess in a green luxuriant palace digital art
    exotic princess in a luxuriant palace
  • 他用GPT-3实现了「量子速读」

    他用GPT-3实现了「量子速读」

    你是否曾为了查一个问题,翻书翻到头秃?

    要是书里有的内容,一问便知就好了……等等,“一问便知”,这怎么有ChatGPT那味儿了?

    话说,有人还真就由此思路开发出一个聊天Bot,做示例的书是马可·奥勒留的《沉思录》(全书共12卷,497则)。

    只用几分钟,AI就能记下全书内容。

    然后随便问个书里讲过的东西,比如“如何处理负面情绪?”,AI可以快速扫描文本并给出高质量回答,甚至还一条条给你列好。

    原帖一发布,网友纷纷围观点赞。

    开发者Dan Shippers称,做出这个AI并不难,主要功臣就是语言大模型GPT-3,另外再加几行代码就搞定了。

    另外,这哥们儿甚至还嗅到了一丝商机:

    网上现在有很多受版权保护的文本、音视频资料集,都能被做成聊天机器人!对想获取信息的人来说,有时一看给了钱自己还要慢慢整理,可能就放弃了;而要是能通过AI快速锁定目标内容的话,应该会有更多人愿意自掏腰包。

    怎么做出来的?

    用Dan哥的话来说,Bot制作过程主要分为3个步骤

    首先,当然是找到整活的素材。比如整本《沉思录》。

    Dan哥从网上下载了《沉思录》原著,将其保存在Google Dive的一个文件夹中。通过Google Drive,用户可以将文件存储在云端,并在设备间同步、共享。

    然后再在谷歌的云端编程平台Colab上,运行下面这段Python代码,既能访问Google Drive,还能轻松实现与GPT-3的互动。

    Dan介绍称,GPT-3能以任何文本素材为基础,给你整出一个聊天bot。

    不过有个问题:单次能向GPT-3输入的文本字数是有限的。

    所以第二步,就是访问存在Google Dive上的那个文件夹,再把整个文本素材划分成一个个小块,存到新的文件中。

    第三步,当用户提问时,先通过OpenAI的API访问书中包含相关解释的小块内容,再把这些内容传到GPT-3中,整理出语言通顺的回答。

    具体代码如下:

    到此,为整本《沉思录》专门定制的聊天机器人就做好了。

    除此之外,基于此基本思路,Dan哥又把他喜欢的某系列播客节目也做成了聊天Bot。

    他说自己曾在节目中听到一个感兴趣的名词,但忘了是啥意思。平时想弄明白的话,不得不把一集内容重新听一遍。

    但现在有了聊天Bot——重听?不存在的。

    Dan是何许人也?

    话说回来,能从聊天机器上人看到新的商机,Dan哥的过往经历或许也产生了一定影响。

    他本科毕业于宾夕法尼亚大学的文科类哲学系,但这位哥其实还是个技术大佬。

    他从小学5年级就开始编程,在大学期间又和小伙伴创办了一家软件公司FireFly,收入在六位数以上。

    他还在上大二时,不少科技公司就已抛来橄榄枝,但人家都拒绝了,说是想先完成学业。

    大学一毕业,他把FireFly卖给了知名业务软件公司Pegasystems,赚到第一桶金。

    紧接着,他在Pega担任起项目负责人,并把业务部门的收入提高到百万美元级别。

    再后来,他从Pega出来,于2020年又创办一家公司Every,主要创作商业类简报和播客,目前已有6万+订阅用户。

  • 全网爆火的OpenAi!如何注册!

    全网爆火的OpenAi!如何注册!

    OpenAI网站跻身全球TOP50网站,1月访问量比去年11月增长了3572%!

    这么一款全球最TOP人工智能终于来了!

    赶快开启智能体验吧!


    一.准备一个可以梯子 or 魔法!用来访问谷歌。

    小编使用的是这款

    附上申请测试链接,需要填写资料哦

    申请链接

    WIN下载链接 MAC下载链接

    提交后,根据回复邮件填写,搞定之后我们就可以正常使用了!


    二.海外手机号用于注册验证

    先注册这个网站的账户(https://sms-activate.org/)。

    我们注册后登录,搜索并选择OpenAi服务。

    点击购物车,我选择的印度,如果你没有充值,余额不足的话要先充值,支持支付宝。

    购买好之后,你就有国外虚拟的手机号了,不过需要注意,可接受短信激活时长是20分钟,需要在20分钟内注册好OpenAi账户

    三.注册OpenAi账户

    前往OpenAi首页,地址:https://chat.openai.com/

    创建一个账户,看不懂直接使用网页翻译即可。

    邮箱注册。我们会收到一封邮件。点击确认,通过验证。

    第四步:继续填写相关信息。填写手机号,我们是买的印度虚拟卡,选择印度。

    虚拟卡网站里面,购买后会看到这个信息。

    注意,可接受短信激活时长是20分钟,需要在20分钟内注册好。

    复制手机号,填写手机号后,获取验证码复制。

    前往这个页面耐心等待验证码到来,复制然后注册。

    好了,注册成功,自动进入页面。

    四.其他注意事项

    在这个页面就可以进行智能对话了,使用AI对话链接https://chat.openai.com/

    赶紧享受史上最强大的智能AI吧,无论你有什么样的问题,都可以找它!

    登录不进去?

    注意!注意!有的小伙伴说登陆不进去,请直接换Google浏览器

  • ChatGPT API 项目实战 ,保姆级教程 

    ChatGPT API 项目实战 ,保姆级教程 

    体验到了ChatGPT的强大之后,那么我们会想,如果我们想基于ChatGPT开发一个自己的聊天机器人,这个能搞定吗?

    ChatGPT平台已经为技术提供了一个入口了,很简单的就是实现了。

    一、准备工作

    (1)已成功注册 OpenAI 的账号。

    (2)创建 API KEY,这个 API KEY 是用于 HTTP 请求身份验证的,可以创建多个。注意这个创建之后需要马上复制好保存,关闭弹框之后就看不到了。

    (3)官方 API 文档链接:

    https://platform.openai.com/docs/api-reference/authentication

    (4)注意 API 调用是收费的,但是 OpenAI 已经为我们免费提供了18美元的用量,足够大家放心使用。

    21ddecc520a2f69ce6e84bcf6c1d4f48.png

    二、补全接口示例

    该接口功能较多,支持最常用的问答功能。

    (1)请求方式,Post

    (2)url:https://api.openai.com/v1/completions

    (3)请求体 (json)。

    {"model": "text-davinci-003","prompt": "Say this is a test","max_tokens": 7,"temperature": 0,"top_p": 1,"n": 1,"stream": false}

    (4)接口文档

    https://platform.openai.com/docs/api-reference/completions/create

    请求参数解析:

    字段说明
    model可选参数。语言模型,这里选择的是text-davinci-003
    prompt必选参数。即用户的输入。
    max_tokens可选参数,默认值为 16。最大分词数,会影响返回结果的长度。
    temperature可选参数,默认值为 1,取值 0-2。该值越大每次返回的结果越随机,即相似度越小。
    top_p可选参数,与temperature类似。
    n可选参数,默认值为 1。表示对每条prompt生成多少条结果。
    stream可选参数,默认值为false。表示是否回流部分结果。

    三、申请API-KEY

    访问地址:

    https://platform.openai.com/account/api-keys

    登录账号,然后创建API KEY:

    1c23a96a50cba9268bc8be5e52965197.png

    这个 API KEY 是用于 HTTP 请求身份验证的,可以创建多个。注意这个创建之后需要马上复制好保存,关闭弹框之后就看不到了。

    四、JavaScript调用API

    直接可以使用js+html开发一个对话,具体的源码如下:

    <!doctype html><html class="no-js" lang="">   <head>      <meta charset="utf-8">      <meta http-equiv="x-ua-compatible" content="ie=edge">      <title>Ai - Chat</title>      <meta name="description" content="">      <meta name="viewport" content="width=device-width, initial-scale=1">      <style>         #chatgpt-response {            font-family: "宋体";            font-size: 20px;            color: #0000FF;            font-weight: bold;         }</style>      <script>         async function callCHATGPT() {var responseText1 = document.getElementById("chatgpt-response");            responseText1.innerHTML = ""            function printMessage(message) {var responseText = document.getElementById("chatgpt-response");var index = 0;// 创建一个定时器,每隔一段时间打印一个字符var interval = setInterval(function() {                     responseText.innerHTML += message[index];                     index++;// 当打印完成时,清除定时器if (index >= message.length) {                        clearInterval(interval);                     }                  },150); // 每隔50毫秒打印一个字符            }var xhr = new XMLHttpRequest();var url = "https://api.openai.com/v1/completions";            xhr.open("POST", url, true);            xhr.setRequestHeader("Content-Type", "application/json");            xhr.setRequestHeader("Authorization", "Bearer API-KEY");            xhr.onreadystatechange = function() {if (xhr.readyState === 4 && xhr.status === 200) {var json = JSON.parse(xhr.responseText);var response = json.choices[0].text;// 将CHATGPT的返回值输出到文本框var responseText = document.getElementById("chatgpt-response");var index = 0;// 创建一个定时器,每隔一段时间打印一个字符var interval = setInterval(function() {                        responseText.innerHTML += response[index];                        index++;// 当打印完成时,清除定时器if (index >= response.length) {                           clearInterval(interval);                        }                     },50); // 每隔50毫秒打印一个字符               }            };var data = JSON.stringify({"prompt": document.getElementById("chat-gpt-input").value,"max_tokens": 2048,"temperature": 0.5,"top_p": 1,"frequency_penalty": 0,"presence_penalty": 0,"model": "text-davinci-003"            });            console.log(data);            await printMessage('正在思考,请等待......');            await xhr.send(data);         }</script>   </head>   <body>      <div class="filter-menu text-center mb-40">         <h4>与Ai对话,请描述您的需求-支持中文、英语、日本语等</h4>      </div>      <textarea class="form-control" id="chat-gpt-input" placeholder="输入描述" rows="3" resize="none"         style="width: 135%; margin: 0 auto; background-color: #f4f4f4; color: #333; border: 1px solid #ccc; border-radius: 12px;"></textarea>      <button onclick="callCHATGPT()" autocomplete="off" class="btn btn-large" href="#"         style="background-color: #333; color: #f4f4f4; border-radius: 10px">         <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>回答      </button>      <textarea class="form-control" id="chatgpt-response"         placeholder="请耐心等待回答 Ai生成它很快,但是由于网络问题我们需要等待,通常内容越长等待越久 如果长时间没反应请刷新页面重试" rows="26" resize="none"         style="width: 150%;height: auto; margin: 0 auto; background-color: #f4f4f4; color: #333; border: 1px solid #ccc; border-radius: 10px; overflow: scroll;"         readonly="true"></textarea>

    注意:需要替换自己的api-key,修改这一行代码:

    xhr.setRequestHeader(“Authorization”, “Bearer API-KEY”)。

    运行一下html,看下效果:

    98eb5ced5c5dd8e4c4826bccffc92c85.png

    五、SpringBoot使用ChatGPT API

    (1)构建一个Spring Boot项目,这里使用的是2.7.6版本;

    (2)引入依赖:

    <dependency>    <groupId>com.theokanning.openai-gpt3-java</groupId>    <artifactId>service</artifactId>    <version>0.10.0</version></dependency>

    官网链接地址:https://platform.openai.com/docs/libraries/community-libraries

    (3)请求代码:

    String token = "API-KEY ";//System.getenv("OPENAI_TOKEN");OpenAiService service = new OpenAiService(token);CompletionRequest completionRequest = CompletionRequest.builder()        .model("text-davinci-003")        .prompt("今天天气怎么样?")        .temperature(0.5)        .maxTokens(2048)        .topP(1D)        .frequencyPenalty(0D)        .presencePenalty(0D)        .build();service.createCompletion(completionRequest).getChoices().forEach(System.out::println);

    请替换API-KEY。

    运行程序:

    我就是我,是颜色不一样的烟火。我就是我,是与众不同的小苹果。

    ——–

  • WordPress 着陆页模板设计

    您在寻找 WordPress 的最佳着陆页模板吗?

    着陆页可帮助您获得更多潜在客户并增加转化率。它们旨在引导用户在您的网站上执行所需的操作。

    在本文中,我们将分享 WordPress 的最佳着陆页模板,以帮助您获得更多销售和转化。

    奖励:其中一些模板提供 100% 的拖放功能,因此您可以在几分钟内轻松自定义它以满足您的需求。

    WordPress 的最佳着陆页模板

    着陆页模板专注于实现目标或目标,例如获得更多订阅者、促进销售等。

    您可以使用许多登陆页面插件在 WordPress 网站上创建登陆页面。您还会发现许多专为特定行业和目标设计的登录页面模板。

    在 WordPress 中构建登陆页面的最佳方法是使用拖放页面构建器,这样您就可以轻松自定义登陆页面,而无需编写任何代码。

    以下是我们推荐的顶级着陆页设计提供商:

    种子产品

    SeedProd是市场上最好的 WordPress 拖放网站构建器,被超过 100 万网站所有者使用。它使您无需代码即可轻松创建漂亮的登录页面,即使您是初学者也是如此。

    SeedProd 附带大量专业设计的模板,您可以使用它们快速入门。您可以轻松地将现成的块拖放到您的页面上。对于想要进一步微调登录页面的用户,还有强大的高级选项。

    除了登录页面,您还可以使用 SeedProd 轻松创建自定义 WordPress 主题。

    迪维

    Divi 是来自Elegant Themes的流行 WordPress 页面构建器。您可以使用它来设计您的着陆页模板。它有多个内置元素和内容模块可以添加到您的页面上。Divi Builder 允许您在布局上的任意位置单击并键入文本。它带有响应式编辑功能,在所有设备上看起来都很棒。

    您可以使用拖放构建器完全自定义每个元素。Divi 让您可以完全控制字体、颜色、背景和间距。Divi 提供了 100 多个预建的登陆页面模板,其中包含随时可用的演示。

    海狸生成器

    Beaver Builder是一个功能强大的 WordPress 页面构建器插件。它带有多个用于时尚、摄影、网络代理、教育、移动应用程序等的登录页面模板。使用 Beaver Builder,您可以快速将内容拖放到登录页面上。它允许您在列中组织文本和图像以创建漂亮的自定义页面模板。

    Beaver Builder 插件最好的部分是它适用于所有简单的 WordPress 主题。它提供实时的前端编辑,便于定制。它完全支持 WooCommerce、多站点网络和WPML进行翻译。

    超级主题

    Themify Ultra 是具有全角背景图像的多用途 WordPress 主题。它附带 Themify 拖放构建器,其工作方式与 Divi Builder 或 Beaver Builder 类似。您可以使用此页面构建器来设计您的自定义页面模板。它还提供预建的登录页面模板,可减少工作量并节省时间。

    它为页眉、侧边栏、页脚和网站的其他部分提供智能布局选项。Themify Ultra 具有垂直和水平布局的视差滚动。

    阿斯特拉

    与上述解决方案不同,Astra 不是页面构建器。它是一个快速且轻量级的 WordPress 主题,旨在与BeaverBuilder等拖放页面构建器一起使用。

    Astra 最好的部分是它带有许多现成的网站和页面模板。您可以安装 Astra 主题并使用这些模板为健身、制造、运输服务、理发店、乐队等创建登录页面。该主题完全支持 WooCommerce。

  • PHPCMS V9 二次开发文档

    PHPCMS V9 二次开发文档

    服务器要求

    PHP 版本 5.2 或更新的版本。

    MySQL版本推荐5.0或者更新版本。

    模型视图控制器 (MVC)

      MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(M)视图(V)控制器(C),它们各自处理自己的任务。

    视图

      视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

    模型

      模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

    控制器

      控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。

      现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

    文件目录结构

    根目录

    |  –  api  接口文件目录

    |  –  caches 缓存文件目录

           |  – configs 系统配置文件目录

           |  – caches_* 系统缓存目录

    |  –  phpcms  phpcms框架主目录

           |  – languages 框架语言包目录

           |  – libs 框架主类库、主函数库目录

           |  – model 框架数据库模型目录

           |  – modules 框架模块目录

           |  – templates 框架系统模板目录

    |  –  phpsso_server  phpsso主目录

    |  –  statics  系统附件包

           |  – css 系统css包

           |  – images 系统图片包

           |  – js 系统js包

    |  –  uploadfile  网站附件目录

    |  –  admin.php  后台管理入口

    |  –  index.php  程序主入口

    |  –  crossdomain.xml  FLASH跨域传输文件

    |  –  robots.txt 搜索引擎蜘蛛限制配置文件

    |  –  favicon.ico  系统icon图标

    URL访问

    PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口。

    参数名称描述位置备注
    m模型/模块名称phpcms/modules中模块目录名称必须
    c控制器名称phpcms/modules/模块/*.php 文件名称必须
    a事件名称phpcms/modules/模块/*.php 中方法名称 

    模块访问方法[示例]:

     http://yourdomain.com/index.php?m=content&c=index&a=show&id=1


    其中 
    m = content 为模型/模块名称 位于phpcms/modules/content
    c = index 为控制器名称 位于phpcms/modules/content/index.php
    a = show 为时间名称 位于phpcms/modules/content/index.php 中show()方法
    id = 1 为其他参数 与正常get传递参数形式相同

    如果我们访问您的域名 如:

    http://www.yourdomain.com/index.php

    phpcms默认路由会定位到content模块的index控制器中的init操作,因为系统在没有指定模块和控制器的时候,会执行默认的模块和操作。因此下面的URL的结果是相同的:

    系统还支持URL路由的功能,这些都能够带来其他的url访问效果。

    [content_hide]

    [b2_file link=”https://pan.baidu.com/s/1ckgbt07YoiFf7SqMIvagTQ” name=”phpcms 开发文档” pass=”40zm” ]

    [/content_hide]

  • 最近很火的ChatGPT-从注册到使用[保姆级教程]

    ChatGPT 人工智能以其强大的信息整合和对话能力惊艳了全球,在自然语言处理上面表现出了惊人的能力。这么强大的工具我们都想体验一下,那么 ChatGPT 怎么用呢?本文将给你逐步详细介绍。

    最近很火的ChatGPT-从注册到使用[保姆级教程]插图

    介绍:

    1. 注册 ChatGPT 账号
    2. 通过短信接码平台 sms-activate.org 完成 ChatGPT 手机号验证
    3. 登录 ChatGPT 账号,对话框输入,开始使用 ChatGPT !
    4. 输入任意话题,探索 ChatGPT 的强大功能

    好了 接下来我们开始图文教程。

    1.注册 Chat GPT 账号:

    注册ChatGPT这一步主要包含以下几步(需要按照顺序逐步操作):

    • 将网络环境切换成国外IP(注意:必须是国外IP 如美国、加拿大等,香港澳门IP是不行的),且后续整个注册流程都必须在此网络环境下进行。
    • 打开 https://chat.openai.com/auth/login 链接并使用自己的邮箱进行账号注册
    • 打开邮箱查收 OpenAI 账号验证邮件,点击验证按钮完成邮箱验证

    下面每一个步骤的图片,大家可以对照着进行操作。

    最近很火的ChatGPT-从注册到使用[保姆级教程]插图1
    最近很火的ChatGPT-从注册到使用[保姆级教程]插图2
    最近很火的ChatGPT-从注册到使用[保姆级教程]插图3
    最近很火的ChatGPT-从注册到使用[保姆级教程]插图4

    邮箱验证完成后,我们第一步注册 ChatGPT 账号就算完成了,但是到这里我们还不能开始使用 ChatGPT,因为我们还需要进行手机号码验证。没有通过手机号码验证是使用不了 OpenAI(ChatGPT的开发商)的服务的。
    因为OpenAI官方的限制,国内和港澳的手机号码还有 Google Voice 的虚拟号码都是不能使用的。
    这时候就要用到下一步的接码平台。

    2.完成 ChatGPT 手机号码验证:

    这一步需要用到接码平台完成手机号验证,推荐平台链接地址:https://sms-activate.org

    具体过程包含以下几步:

    1. 通过自己的邮箱注册 sms-activate.org 账号并完成邮箱验证(其他接码平台同理,但是不一定每个都好用,sms-activate是博主亲自验证过的)
    2. 打开邮箱查收验证邮件并点击确认完成sms-activate.org账号认证
    3. 登录sms-activate并且在右上角找到充值按钮,点击进行充值
    4. 点击充值跳转后,往下滑找到支付宝,这里建议大家充值0.2美金就可以了(不够用再充)。
    5. 充值好了以后回到首页搜索「open」关键字就可以找到OpenAI验证码的临时号码购买链接。
    6. 在右侧激活区看到待使用的临时号码,将此号码复制到OpenAI的验证码接收区里面。
    7. OpenAI的页面点击发送验证码,这样就可以在接码平台接收到验证码(有时候有一点慢需要耐心等待一下),将验证码填进去,这样就完成 ChatGPT 手机号验证了。

    这一步比较长,但是操起其实也不复杂,简单说就是通过接码平台收验证码完成验证,大家只要按照步骤操作就能成功。 当然啦,如果嫌麻烦的朋友可以直接移步某宝购买一个现成的账号,效果是一样的。 下面是每一步的操作图,大家可以对照操作。

    最近很火的ChatGPT-从注册到使用[保姆级教程]插图5
    注册的过程会验证邮箱
    最近很火的ChatGPT-从注册到使用[保姆级教程]插图6
    在你邮箱里验证一下邮件,完成注册
    最近很火的ChatGPT-从注册到使用[保姆级教程]插图7
    登陆你的账号后,右上角可以直接支付宝充值,因为接码要花钱
    最近很火的ChatGPT-从注册到使用[保姆级教程]插图8
    回到首页找到搜索框
    最近很火的ChatGPT-从注册到使用[保姆级教程]插图9
    搜索「open」关键字就可以找到 OpenAI 验证码的临时号码购买链接。
    最近很火的ChatGPT-从注册到使用[保姆级教程]插图10
    获取到手机号就可以继续注册ChatGPT了
    最近很火的ChatGPT-从注册到使用[保姆级教程]插图11
    若是获取的手机号收不到验证码,可以免费退一次

    至此,历经千辛万苦 我们成功注册好了ChatGPT

    3.登录 ChatGPT 账号并开始使用:

    • 注册完后,我们去 ChatGPT 网站去登陆: https://chat.openai.com/auth/login
    • 输入我们上面第一步注册好的账号密码就可以成功登录。
    • 登录以后我们会进入到 ChatGPT 的主界面,在屏幕的正下方就是我们使用 ChatGPT 的输入对话框,ChatGPT采用交互式对话界面,使用非常便捷友好,你可以任意输入你感兴趣的内容并敲回车,ChatGPT 将会回答你。
    最近很火的ChatGPT-从注册到使用[保姆级教程]插图12

    比如我们问一下 ChatGPT 梯形相关的问题,看看他会怎么回答。

    最近很火的ChatGPT-从注册到使用[保姆级教程]插图13

    到这里,你已经学会了如何使用 ChatGPT 了!

    4.探索 ChatGPT 的强大功能:

    你可以尝试用各种方式向 ChatGPT 提出各种各样的问题或者指令,通过这一步你将更能体会到 ChatGPT 的强大之处。来吧,朋友,让我们真正学会 Chat GPT 怎么用。

    比如:

    • 叫 ChatGPT 写代码
    • 叫 ChatGPT进行翻译
    • 叫 ChatGPT 编故事
    最近很火的ChatGPT-从注册到使用[保姆级教程]插图14
    写代码
    最近很火的ChatGPT-从注册到使用[保姆级教程]插图15
    做翻译
    最近很火的ChatGPT-从注册到使用[保姆级教程]插图16
  • WordPress自定义文章类型:创建和使用它们的多合一指南

    WordPress自定义文章类型:创建和使用它们的多合一指南

    WordPress自定义文章类型是强大的功能。它们将WordPress从一个不起眼的博客工具提升为一个内容管理系统,并为您提供创建定制网站所需的最重要的灵活性。

    但它们可能会引起混淆:WordPress自定义文章类型到底是什么?它们与标准文章和页面有何不同?你如何创造它们?一旦你创建了一个自定义的文章类型,你如何添加它,在你的网站上显示它,以及它是如何被WordPress存储的?

    在本文中,我将向您展示WordPress自定义文章类型的工作原理。我会将它们与您可能更熟悉的文章类型进行比较,教您如何创建它们,并向您展示如何使用主题模板文件在您的站点中显示它们。

    1. 什么是WordPress自定义文章类型?
    2. 文章和自定义文章类型之间的区别
    3. 如何使用插件添加自定义文章类型
    4. 如何在WordPress中注册您自己的自定义文章类型
    5. 如何在您的网站中显示WordPress自定义文章类型

    什么是WordPress中的自定义文章类型?

    通过解释一个更广泛的概念:文章类型,可能更容易解释WordPress中的自定义文章类型。

    文章类型是在WordPress中对不同类型的内容进行分类的方法。我假设您已经熟悉两种最常见的文章类型:文章和页面。但您可能不知道的是,WordPress还捆绑了其他一些文章类型。

    与WordPress捆绑的文章类型

    WordPress有七种文章类型

    • 文章
    • 页面
    • 附件
    • 修订
    • 导航菜单
    • 自定义CSS
    • 变更集Changesets

    您可能从未听说过变更集Changesets,并且您可能会在您的网站中使用自定义CSS,但您没有想到这些可能是文章类型。

    对于大多数WordPress用户和开发人员来说,您唯一需要关注的文章类型是前五种:文章、页面、附件、修订和导航菜单。

    让我们看一下这些文章类型中的每一个,以便我们了解更多关于它们的信息。

    WordPress文章类型:文章

    “文章”是您在WordPress中使用最多的文章类型。文章是动态内容:旨在定期更新。您可以向它们添加类别和标签,这意味着它们将显示在多个存档页面中,并且它们也将显示在您的主页或博客页面上。通常,您的文章将构成您网站上的大部分内容。

    注意:在 WordPress 中,“发布”意味着两件事。在数据库中,文章是任何文章类型的文章,因此它将包括页面、附件和其他所有内容。当我们大多数人谈论文章时,我们指的是我们博客中的文章,属于“文章”文章类型。

    WordPress文章类型:页面

    如果您已经有一个WordPress网站,页面是您熟悉的另一种内容类型。它们是静态内容,旨在比文章停留更长时间,并提供有关不经常更改的事物的信息。很好的例子是您的联系方式或商业网站上的“关于我们”页面。

    页面不能有类别或标签,也不能显示在存档页面上。相反,访问者将通过您的导航菜单访问它们。

    注意:在互联网术语中,页面可以表示您网站上的任何类型的页面。互联网最初发展时,它仅包含必须通过编写HTML直接编码的静态内容。因此,“网页”可以是您网站上的任何类型的页面,包括WordPress术语中的静态页面、存档页面或文章。在本文中,当我提到页面时,我指的是WordPress术语中的页面,即静态页面。有时我会提到存档页面,但它们不是您创建一个页面来存储它们的意义上的页面。WordPress为您做到这一点。

    WordPress文章类型:附件

    附件是已上传到您网站的媒体项目。在WordPress数据库中,这不是媒体文件本身,而是与之相关的数据。因此,每个附件都将具有唯一的ID和元数据,例如其标题、描述、ALT文本等。

    每个附件也有自己的附件页面,带有唯一的URL。您可以通过该附件的媒体编辑屏幕找到此URL:

    WordPress中的附件编辑屏幕

    WordPress中的附件编辑屏幕

    附件可以是任何类型的上传:图像、视频、pdf文件等等。您可以通过WordPress管理菜单中的媒体项访问和编辑它们,也可以在编辑它们时将它们直接上传到文章/页面。您上传到文章的任何附件都可以通过“媒体 ”菜单进行编辑和查看。

    WordPress文章类型:修订

    现在我们开始讨论稍微晦涩的文章类型。

    每次您保存新版本的文章、页面、附件或任何自定义文章类型时,WordPress都会创建一个修订版以反映该文章(或页面等)的版本。

    您可以通过转到相关编辑屏幕并打开右侧的“文档” 选项卡来查看对站点中任何文章或页面的修订在这里,您会看到一条通知,告诉您这篇文章有多少次修订。您可以在下面看到我正在编辑的文章的屏幕截图,该文章目前有五个修订版。

    WordPress文章编辑屏幕中的修订

    WordPress文章编辑屏幕中的修订

    如果您不使用古腾堡编辑器,您可以通过滚动到编辑屏幕底部并在此处找到它们的列表来访问修订:

    经典WordPress文章编辑屏幕中的修订

    经典WordPress文章编辑屏幕中的修订

    如果您单击“修订 ”框,您将被带到一个屏幕,显示您最新的两个版本的文章。从这里您可以查看修订并恢复到文章的早期版本。

    随着时间的推移,WordPress会为您的网站创建大量修订,这意味着数据库将充满它们(这是关于如何处理修订版本以获得更快性能的指南)!但是修订版本是一种文章类型,就像其他任何类型一样,它们以相同的方式存储——很快就会有更多。

    WordPress文章类型:导航菜单

    导航菜单,或者更准确地说,导航菜单中的项目,也是一种文章类型。

    导航菜单中的每个项目都作为一个项目存储在数据库中。由于其元数据,WordPress知道这是一个导航菜单项,它应该出现在导航菜单中的确切位置以及链接到的位置。

    您不能像编辑其他文章类型一样编辑导航菜单项。相反,您可以通过定制器或菜单屏幕来编辑它们。

    WordPress文章类型:自定义CSS

    如果您通过定制器添加自定义CSS,您的工作将使用此自定义文章类型保存。将为与您网站中的每个主题相关的自定义CSS保存一个新文章(“自定义CSS”文章类型),并且WordPress只会将一个用于当前活动的主题。

    WordPress文章类型:变更集

    变更集有点像修订,但它们不是应用于文章,而是应用于定制器。当您使用定制器进行更改时,它将以类似于草稿的方式保存为更改集。

    现在我们已经了解了所有WordPress文章类型,让我们继续了解有关WordPress自定义文章类型的更多信息。

    文章和自定义文章类型之间的区别

    让我们快速回顾一下:文章可以是两件事之一。

    文章类型是给定内容项所属的文章类型(在更广泛的意义上)。“文章”是一种文章类型,就像“页面”、“附件”或您注册的任何自定义文章类型一样(我知道,这很令人困惑,但我会在一分钟内深入挖掘)。

    另一方面,您的自定义文章类型不是博客文章意义上的“文章”类型。它是存储在数据库中的所有文章(所有文章类型)意义上的一种文章。

    WordPress自定义文章类型:常见用途

    所以现在我们知道什么是自定义文章类型了。但是什么时候你可能需要使用一个?答案是每当您想向您的网站添加不适合其中一种内置文章类型的内容时。

    自定义文章类型的一些常见示例是:

    • 电子商务网站的产品。
    • 作品集网站的作品或项目。
    • 地图位置站点的地图。
    • 预订网站的活动。

    这些是一些最常见的用例,但绝不是唯一的用例。在决定是否对任何新内容使用自定义文章类型时,我的建议是问自己这个问题:

    我想在主博客页面或静态页面中显示我的新内容,还是希望能够在单独的存档页面上显示它?

    在某些情况下,使用一个类别来分离您的新内容可能就足够了:也许您正在运行一个博客并希望包含可以在他们自己的页面上显示的案例研究(使用您创建的“案例研究”类别)并显示在主博客中。但是,如果您想将新内容与博客文章分开,那么为它创建自定义文章类型是有意义的。

    WordPress如何存储文章类型

    自定义文章类型的文章的存储方式与标准文章(和页面等)的存储方式相同。让我们更详细地看一下这个。

    您的WordPress站点有许多用于存储内容和设置的数据库表。表的最小数量是 12,但是如果您的站点运行多语言站点或者如果您安装了添加更多表的插件,您的站点可能会有更多。

    WordPress数据库表

    WordPress数据库表

    在上面的屏幕截图中,您可以看到有两个表看起来好像与文章有关:wp_posts和wp_postmeta。

    wp_posts表存储所有文章类型的所有文章内容。因此,无论我们谈论的是博客文章、页面、修订、附件还是自定义文章类型都没有关系:它们都将存储在这个wp_posts表中。

    WordPress知道每个文章的文章类型,因为它会在wp_posts表的post_type字段中有一个值。该值将对应于文章类型的名称。因此,当您添加新的博客文章时,WordPress会在wp_posts表中添加一个post_type为“post”的文章。例如,如果您注册了一个名为“product”的自定义文章类型,那么您创建的每个新产品都会在wp_posts表中生成一行,其中“product”作为post_type字段中的值。

    wp_postmeta表用于存储有关您的文章的元数据。它有四个字段:

    • meta_id:wp_postmeta表中该项的id。
    • post_id:该项元数据对应的文章。一篇文章在wp_postmeta表中可以有多行。
    • meta_key:此特定类型元数据的密钥。例如,对于静态页面,一个潜在的键可能是page_template,它会记录正在使用的页面模板。
    • meta_value:字段的值。如果页面(再次使用此示例)正在使用默认页面模板,则此处的meta_value将为“default”。

    因此,为给定文章存储的元数据种类将根据它的文章类型而有所不同。

    您无需担心哪些数据存储在wp_posts中,哪些存储在wp_postmeta中:但了解所有文章类型都存储在同一个位置很有用,因为这意味着WordPress可以以几乎相同的方式处理它们大大地。

    自定义文章类型存储在WordPress中的什么位置?

    您的WordPress站点有许多用于存储内容和设置的数据库表。例如,如果您注册了一个名为“case study”的自定义文章类型,那么您创建的每个新案例研究都会在wp_posts表中生成一行,其中“product”作为post_type字段中的值。

    WordPress知道每个文章的文章类型,因为它会在wp_posts表的post_type字段中有一个值。

    自定义文章类型如何与自定义分类法和自定义字段交互

    在我们继续研究如何在WordPress中注册自定义文章类型之前,让我们确定自定义文章类型将如何与其他自定义内容类型交互,即自定义分类法和自定义字段。

    自定义分类法

    WordPress中的分类法用于对任何文章类型的文章进行分类。对于标准文章,使用的两种分类法是类别和标签。

    注册自定义文章类型时,您可以选择为其分配任何现有的分类法或分类法。您可以在注册分类时为其添加“category”分类。当我演示创建自定义文章类型的技术时,我将很快向您展示如何执行此操作。

    或者,您可以为您的自定义文章类型创建全新的分类法,这也是一种常用方法。

    因此,例如,如果您正在为电子商务网站创建 “product”文章类型,您可能会创建“department” 分类来将产品分类到商店中的部门。

    如果您正在创建 “event” 文章类型,则可以创建 “event type”分类,它可以指定这是一场音乐会、诗歌朗诵还是喜剧之夜。

    您创建的分类法取决于您,并且取决于您希望从自定义文章类型对文章进行排序和显示的方式。

    自定义字段

    您在WordPress中拥有的另一种自定义内容类型是自定义字段,也称为文章元数据。自定义字段是您可以添加到任何文章的附加元数据,只要文章类型支持它们。当您注册自定义文章类型时,您可以在此行中包含自定义字段支持:

    supports => array( ‘custom-fields’ );
    supports => array( ‘custom-fields’ );
    supports => array( ‘custom-fields’ );

    这是作为数组传递的,以便您可以添加对多个选项的支持

    因此,如果您想将元数据添加到您的自定义文章类型,例如服装店中具有“product”文章类型的尺寸或颜色,您将使用自定义字段来执行此操作。

    自定义字段不同于自定义分类法,因为您不会使用它们来输出存档页面。

    这是一家服装店的示例。您将为“department”分类的每个示例创建一个存档页面,例如“Women’s”、“Men’s”等。假设您还有一个名为“Size”的自定义字段。您不会为每种尺寸创建存档页面,因为这不是您的客户希望看到的。

    遵循此规则可帮助您确定是否需要使用自定义分类法或自定义字段来向您的文章添加更多数据:您是否需要在存档页面中显示它?

    稍后我将向您展示如何为您的自定义文章类型和自定义分类法输出存档页面。

    如何使用插件添加自定义文章类型

    因此,您知道自定义文章类型是什么,并且您知道您的网站需要一个:如何添加它?

    有两种方法:使用插件和手动编码。让我们从插件路由开始。

    您可以使用两种类型的插件来注册自定义文章类型:第一种将注册自定义文章类型以添加​​插件附带的功能,第二种将为您提供可用于创建您的自己的文章类型。

    第一个示例包括各种插件,包括电子商务插件、事件插件等。让我们从最受欢迎的WordPress插件之一WooCommerce开始。

    如何使用WooCommerce注册自定义文章类型

    WooCommerce是一个注册自定义文章类型以便工作的插件示例。在这种情况下,它是“product”文章类型。

    WooCommerce中列出的产品

    WooCommerce中列出的产品

    WooCommerce还为您注册了一些自定义分类和自定义字段来组织您的商店,包括产品类别和产品标签。这些与您用于博客文章的类别和标签不同。

    如何使用Events Calendar插件注册自定义文章类型

    事件日历插件是另一个使用自定义文章类型的插件。在这种情况下,它是“event”文章类型。

    Events Calendar插件创建的event

    Events Calendar插件创建的event

    该插件添加了事件独有的分类法:“event category”。它也将普通标签应用于事件,因此您可以使用与博客文章相同的标签。

    如何使用WP Google Maps注册自定义文章类型

    就像WooCommerce和The Events Calendar一样,WP Google Maps是一个WordPress地图插件,可为您的地图注册自定义文章类型。

    由WP Google Maps插件创建的地图

    由WP Google Maps插件创建的地图

    “map”文章类型与之前插件中的产品或活动文章类型的工作方式不同,因为您不会显示所有地图的存档页面:相反,该插件为您创建的每个地图提供了一个短代码,您嵌入进入您网站的文章或页面。但是,尽管您无法像查看其他一些文章类型一样查看地图,但它仍然是一种文章类型。

    如何使用Custom Post Type UI插件

    如果您想注册自己的自定义文章类型,而不是作为WooCommerce等插件提供的更广泛功能的一部分,您可以使用为您提供界面的插件,该界面旨在使注册自定义文章类型变得容易。

    一个这样的插件是Custom Post Type UI插件。

    Custom Post Type UI插件

    Custom Post Type UI插件

    该插件允许您使用管理屏幕注册自己的自定义文章类型,而无需编写任何代码。

    它为您提供了一组屏幕,可让您添加注册文章类型的所有元素,您将在使用register_post_type()函数时添加这些元素。要使用插件添加新的文章类型,请转到CPT IU > Add/Edit Post Types

    使用Custom Post Type UI插件添加文章类型

    使用Custom Post Type UI插件添加文章类型

    从这里,您可以添加新的文章类型或编辑您已注册的任何现有文章类型。

    您可以编辑文章类型的设置,也可以将它们保留为默认设置。您可以在WordPress Codex中找到有关文章类型的所有设置和选项的完整文档。

    Custom Post Type UI插件的设置

    Custom Post Type UI插件的设置

    您还可以使用该插件注册自定义分类并将其分配给您的新文章类型或任何现有文章类型。当您使用该插件注册文章类型时,您可以为它分配任何现有的分类法。

    如何使用Pods插件注册自定义文章类型

    Pods插件是另一个插件,它为您提供了一个界面,旨在让您无需编写代码即可注册自定义文章类型。

    Pods还允许您扩展现有的文章类型。因此,您可以向现有文章类型或分类添加额外字段,并编辑其设置。

    使用Pods插件创建文章类型

    使用Pods插件创建文章类型

    Pods插件使用文章类型(“pod”)来存储您的所有自定义设置,并且还允许您注册自己的文章类型,有点像Custom Post Type UI插件,但其界面旨在引导您完成整个过程. 这意味着该插件可以使该过程更容易,但与您自己编写文章类型相比,它向您的站点(以及向您的数据库中的数据)添加了更多的代码。

    或者,如果您不想安装插件来管理注册文章类型的过程,您可以自己编写代码。

    如何在WordPress中注册您自己的自定义文章类型

    如果您喜欢编写代码,您可以利用register_post_type()函数来注册您的自定义文章类型。这是最有效的方法。

    最佳实践告诉我们将自定义文章类型的代码放在插件中,而不是在您的主题中。这是因为如果您将来要更改主题,您将不希望丢失文章类型以及您使用该文章类型创建的所有文章。这也意味着如果您将来更新主题,您将不会丢失您的文章类型。

    让我们完成在WordPress中注册您自己的自定义文章类型的步骤。

    创建你的插件

    第一步是创建你的插件。在您的开发或临时站点(还不是您的实时站点)的wp-content/plugins文件夹中,为您的插件添加一个文件夹。在该文件夹中,添加一个PHP文件。比如wbolt-register-posttype.php。

    提示:我总是喜欢在文件夹中创建插件,而不是仅仅将插件文件添加到wp-content/plugins文件夹中。这样,如果我需要向我的插件添加更多文件,例如包含文件、脚本或样式,我已经准备好一个文件夹来保存它们。

    现在在您的新php文件中,为您的插件添加开头注释掉的文本:

    <?php
    /*
    Plugin Name: Register Custom Post Types
    Plugin URI: https://www.wbolt.com
    Description: Plugin to register the book post type
    Version: 1.0
    Author: WBOLT
    Author URI:https://www.wbolt.com
    Textdomain: wbolt
    License: GPLv2
    */
    <?php
    /*
    Plugin Name: Register Custom Post Types
    Plugin URI: https://www.wbolt.com
    Description: Plugin to register the book post type
    Version: 1.0
    Author: WBOLT
    Author URI:https://www.wbolt.com
    Textdomain: wbolt
    License: GPLv2
    */
    <?php
    /*
    Plugin Name: Register Custom Post Types
    Plugin URI: https://www.wbolt.com
    Description: Plugin to register the book post type
    Version: 1.0
    Author: WBOLT
    Author URI:https://www.wbolt.com
    Textdomain: wbolt
    License: GPLv2
    */

    这会告诉WordPress(和用户)有关插件的一些关键信息:

    • 它叫什么
    • 在哪里可以找到更多信息
    • 它能做什么
    • 版本号
    • 谁开发了它,你可以在哪里找到更多关于它们的信息
    • 国际化的文本域
    • 许可证,应始终为GPL。

    所以你的插件现在已经设置好了,如果你愿意,你可以在管理屏幕中激活它。如果你这样做,它不会做任何事情。

    为您的文章类型设置函数

    现在让我们开始创建函数来注册您的文章类型。在我的示例中,我将创建一个名为“book”的文章类型,因为这是一个虚构的书评网站。您使用的内容显然会有所不同,并且取决于您使用自定义文章类型的目的。

    在注释掉的文本下方,添加以下内容:

    function wbolt_register_post_type() {
    }
    add_action( ‘init’, ‘wbolt_register_post_type’ );
    function wbolt_register_post_type() {
    }
    add_action( ‘init’, ‘wbolt_register_post_type’ );
    function wbolt_register_post_type() {
    }
    add_action( 'init', 'wbolt_register_post_type' );

    此函数将包含您的自定义文章类型的所有代码。您可能想要更改其名称以添加您自己的前缀而不是wbolt_。最好在所有函数上使用前缀,这样您就不会与主题或正在运行的其他插件提供的任何函数的名称发生冲突。

    其余代码将添加到该函数的大括号内。

    为您的自定义文章类型定义标签

    现在是时候为您的自定义文章类型定义标签了,在这些花括号内,添加以下内容:

    $labels = array(
    ‘name’ => __( ‘Books’, ‘wbolt’ ),
    ‘singular_name’ => __( ‘Book’, ‘wbolt’ ),
    ‘add_new’ => __( ‘New Book’, ‘wbolt’ ),
    ‘add_new_item’ => __( ‘Add New Book’, ‘wbolt’ ),
    ‘edit_item’ => __( ‘Edit Book’, ‘wbolt’ ),
    ‘new_item’ => __( ‘New Book’, ‘wbolt’ ),
    ‘view_item’ => __( ‘View Books’, ‘wbolt’ ),
    ‘search_items’ => __( ‘Search Books’, ‘wbolt’ ),
    ‘not_found’ => __( ‘No Books Found’, ‘wbolt’ ),
    ‘not_found_in_trash’