关于wordpress:六个步骤从零开始教你搭建基于WordPress的个人博客

摘要:WordPress是应用PHP语言开发的博客平台,是收费开源的。用户能够在反对PHP和MySQL数据库的服务器上架设属于本人的网站,也能够把WordPress当作一个内容管理系统(CMS)来应用。一、购买云服务器和域名能够参考以下博客进行购买,以华为云为例,服务商能够自选。如果已有云服务器和域名,间接进行第二步操作。 ▶ 云服务器和域名的购买—华为云 二、近程连贯云服务器能够参考以下博客进行近程连贯服务器,也能够用其余方法连贯。连贯当前进行第三步操作。   ▶ Xftp和Xshelll的装置—近程连贯linux 三、装置Nginx能够参考以下博客进行装置Nginx,装置实现后进行第四步操作。  ▶ CentOS 7装置并配置Nginx 四、装置PHP能够参考以下博客进行装置PHP,装置实现后进行第五步操作。 ▶ CentOS 7搭建PHP环境 五、装置MySQL并远程管理能够参考以下博客进行装置MySQL,这里必须要新建一个能够近程登录的用户,而且要新建一个空的数据库用来寄存博客数据。装置实现后进行第六步操作。   ▶ CentOS 7装置MySQL-5.7数据库 六、装置WordPress并配置网站因为WordPress的官网国内可能无法访问,须要借助VPN才能够失常拜访。所以我把资源上传到了蓝奏云。下载WordPress安装包能够应用以下地址。当然,也能够下载其余版本。这个是5.3.2中文版。   ▶ wordpress-5.3.2-zh_CN.tar.gz 1、下载实现当前能够用xftp上传到服务器。进行解压。解压当前依据Nginx的配置,将wordpress文件夹外面的内容挪动到站点目录下。我这里站点目录是:/www。 解压:tar xf wordpress-5.3.2-zh_CN.tar.gz 挪动:mv /wordpress/* /www/ 2、在装置PHP的时候新建了一个用户www,这里须要这个用户对站点目录进行写的操作,所以给用户增加权限。 增加权限:chown -R www.www /www 3、当初拜访云服务器的公网IP,能够看见呈现WordPress的装置界面,点击开始。 4、依据提醒输出绝对于的信息。留神:数据库用户填写能够近程拜访的。数据库主机倡议填写IP地址。点击提交。如果提交当前呈现谬误,依据提醒操作即可。 5、到这一步证实数据库曾经连贯胜利,点击当初装置。 6、输出你的博客的相干信息。点击装置。 7、装置胜利,点击登录。 8、输出刚刚的用户名和明码。点击登录 9、当初进入了博客的后盾零碎,在这里你能够公布文章,设置属于你本人的博客。点击文章—写文章,就能够编写第一篇博客了。 10、编写文章题目,内容。点击公布。 11、当初在浏览器输出你的IP或者域名。就能够看到你的博客了。刚刚公布的文章也曾经显示了。 12、回到后盾,点击外观—主题,能够看到默认有3个主题,也能够在主题商店或者本人下载而后进行装置。 13、到此基于WordPress的集体博客曾经搭建实现。当初能够对博客进行更多的个性化设置了,让博客变得更加的好看。 点击关注,第一工夫理解华为云陈腐技术~

December 17, 2020 · 1 min · jiezi

wordpress编辑器遇到“发布失败,您可能已经掉线”错误的解决办法

今天在一个新的wordpress博客中发布新页面的时候,提示“发布失败,您可能已经掉线”,的问题。网上搜索了一番,终于找到了解决办法。 ...

November 19, 2020 · 1 min · jiezi

关于wordpress:外贸建站-必备插件Yellow-Pencil

明天主讲的内容是 外贸建站 必备插件— yellow pencil .原文首发于:https://www.jackgoogleseo.com/create-website-plugin-yellowpencil/ 在新建soho外贸网站的时候很多同学都会为网站的设计头疼不已,好的模板须要付费价格也不便宜,收费的模板又不能很好的达到本人想要的页面成果,如果须要找人定制,那价格就更高了。所以明天Jack老师为大家举荐一款很好的网站搭建wordpress插件—yellowpencil,心愿可能解决同学们的以上问题。 首先进行yellowpencil插件的搜寻和装置,在网站后盾的wordpress插件装置中,点击增加新插件,输出“yellowpencil”进行搜寻,如下图 点击“Install Now”按钮进行装置,装置实现后点击“Activate”进行激活,激活后页面跳转如下: 在这里咱们点击第一个“开始定制”按钮,对网站进行编辑,页面跳转如下: 针对咱们网站的每一处设置,yellowpencil插件都可能进行批改,咱们能够看到当我把鼠标点击页面左边的“HELLO & WELCOM”的文字下面时,它主动会跳进去一个蓝色的编辑框,咱们来看一下具体的编辑性能选项 针对每一项都进行文字构造更改后,咱们点击编辑工具的右上角保留更改成果。文字局部更改实现后,咱们对文字的背景进行进一步批改,如下图 这这里能够只用纯色做文字背景图的衬底,也能够抉择本人须要的图片作为文字的背景图衬底,相干的背景设置性能在上图中曾经标识进去了,接下来再看文字区块的整块地位调整.具体性能如下图所示 咱们接下来再看边框性能,如下图所示: 如图所示,咱们能够依据本人的爱好来对文字的边框进行相应的编辑,编辑控制台“Border”下方的“Border Radius”性能是对边框进行圆角化解决,使得边框不要这么四四方方那么尖利。相干操作因为篇幅的关系这里不开展实操解说。接下来是“Position”设置,这个设置是对整块文字编辑区域进行大范畴的地位调整,防止了wordpress经典编辑器中只能上下左右两头定位这几种简略的地位设置的难堪。 其余的“Size尺寸”,“Animation动画”,“Box shadow编辑块暗影”,“Extra额定设置”等相干性能,Jack老师不再进行实操解说,留待各位同学本人去探索他们的机密。都是一些简略的傻瓜式操作,置信同学们都可能分分钟搞定。 值得一提的是,yellowpencil这款插件还有在线代码编辑的性能,咱们来一起看一下 点击yellowpencil编辑后盾左上角第三个代码编辑按钮,在呈现的代码编辑器中进行代码改写就能够,尽管这个性能很弱小然而对没有代码根底的同学来说根本没什么用了。然而如果咱们看中他人网站有十分好的设计成果,咱们通过ctrl+u,而后查看对方源代码,而后复制这些源代码增加到yellowpencil的代码编辑器中是不是就能够实现这些性能了呢? 好了,以上就是外贸建站 必备插件—YellowPencil的弱小编辑性能中的文字块编辑性能的一小部分实操解说课程。还有很多性能因为篇幅关系这里不开展具体的实操细节解说,留待大家去挖掘吧.更多收费教程,请查看:https://www.jackgoogleseo.com 本文由JACK SEO公布,Jack专一于外贸建站、谷歌SEO优化、外贸客户开发!

November 11, 2020 · 1 min · jiezi

关于wordpress:最新提高WordPress安全性的11个做法

老左看到年付WordPress官网的报道寰球有超过30%的网站均应用的WordPress程序。实际上咱们也看到目前支流的博客CMS程序(以后支流收费开源集体博客零碎优缺点评估及抉择认识)中的确文档最多、主题和插件最多,基本上咱们应用来做集体博客、集体网站都会抉择WP程序。次要也得益于官网提供继续的降级更新、包含安全性上也是在一直的优化。 今天上午老左看到群里有一个网友因为始终没有降级WordPress至最新版本,或者也可能是因为BT面板没有降级的问题,导致服务器故障,以及网站根目录呈现很多的文件。所以,咱们在应用WordPress的时候,程序的安全性也是十分重要的。在这里我整理出来最新的进步WordPress安全性的11个做法。 第一、放弃最新版本 除非咱们有特地版本的要求,老左都倡议只有WP官网呈现新版本,咱们都须要更新到最新版本。尤其是有提醒到平安版本必须降级的时候,肯定要及时的更新和降级。 第二、应用强密码保护 咱们以前有用过较早版本的WP程序的敌人应该分明,当初默认的用户名是admin,明码都是本人设置的。而现在的新版本用户都是本人定义,且要用本人独特的用户名。同时,咱们明码也能够应用零碎自带提醒举荐的强明码,不要设置简略明码。 第三、应用平安插件爱护 咱们能够抉择一些可用的WP平安插件,或者二次密码保护插件来进步账户的安全性。然而最为次要的是插件肯定要应用官网举荐的正版,且插件也须要及时的更新降级最新版本。 第四、服务器防火墙设置 如果有必要的话,或者有条件,能够须要设置服务器的平安,包含WAF、CDN,包含端口的放行等须要设置的,确保服务器和网站的进一步平安。 第五、肯定的限度措施 比方咱们在登录管理员的时候能够在网站插件设置限度IP地址或者用户登录。包含咱们有些服务器面板也有提供设置必须某个特定IP地址的用户才能够拜访登录。这个要取决于咱们的网站登录管理员的时候应用的是固定的IP地址,如果你的IP老是变动那就麻烦。 第六、平安的插件和主题 网站的确有咱们喜爱的主题和插件,当然有些是破解版的。付费版本又比拟贵,咋办呢?平安起见倡议咱们要么购买正版,要么就用收费平安版本其余产品替换。不要应用破解版的主题和插件。 第七、定期备份数据 如果备份网站还是绝对容易的,比方服务器面板或者服务器都有提供快照定期备份。咱们也能够应用脚本、面板工具自带的备份到第三方对象存储平台。数据是很重要的。 第八、不要应用默认的用户名 现在咱们曾经不存在这个问题,以前默认自带的设置用户名是admin,咱们现在能够间接不创立的。如果还是有的话,咱们要禁止这个用户或者设置权限。 第九、登录后盾的设置 咱们能够设置独自的登录WordPress后盾登录入口。如果管理员不是登录咱们设置的登录URL地址,那是无奈登录拜访的。这个咱们能够搜寻下相干的代码。有些时候咱们有主题是自带的,比方老左有在用的知更鸟主题也是有自带的。 第十、设置文件读写权限 咱们在服务器应用用户的时候,WP程序有些目录是须要设置读写权限的。有些人全副设置777权限是谬误的,咱们须要755或者644权限个别文件是755,文件夹是644权限。 第十一、登录揭示性能 这个老左看到有些敌人在登录网站和服务器的时候有网友设置邮件揭示性能,甚至有退出短信揭示。这个略微须要点技术,个别站长也没有必要加上。 以上是顺手整顿的且参考一些文章的做法,咱们能够用到本人的WordPress网站中确保账户和网站的平安,最为次要的定期备份和更新程序版本是最重要的。 本文固定链接: https://www.laozuo.org/17315.html | 老左笔记

October 24, 2020 · 1 min · jiezi

关于wordpress:解决WordPress程序缩略图出现A-TimThumb-error-has-occured报错问题

缩略图呈现A TimThumb error has occuredWordPress解决办法当初的很多站点都喜爱应用timthumb来实现缩略图的主动裁剪性能,然而常常会遇到缩略图显示不进去的状况,谬误为“A TimThumb error has occured” 现这种状况个别都是因为援用了外链图片(也就是不是本人本站的图片)所导致的,解决的方法也很简略,只须要将该图片对应的外链域名按以下格局增加到 timthumb.php 文件中的$ALLOWED_SITES 即可。具体如下所示: if(! isset($ALLOWED_SITES)){ $ALLOWED_SITES = array ( 'www.zmki.cn', 'zmki.cn','a-oss.zmki.cn','pic.licaibiji.com ',); }  呈现 A TimThumb error has occured 谬误,不单单是因为援用了外链图片,也可能应用本站本人的图片偶然也会呈现 A TimThumb error has occured 谬误,所以最保险的做法就是将本人站点的域名也依据下面的方法增加到 timthumb.php 文件中的$ALLOWED_SITES 中。 如果增加了外链地址和本人域名地址后还是无奈失常显示缩略图如果增加了外链地址和本人域名地址后还是无奈失常显示缩略图,那么就有可能是寄存缩略图缓存的文件夹 cache(PS:间接关上当初应用的主题文件夹个别都能看到这个 cache 文件夹,Z-Blog 主题的就是在主题文件夹内的 template 文件夹外面)没有写入权限所导致的。咱们只须要将这个 cache 文件夹的权限设置为 777即可。个别通过 FTP 链接之后右键这个文件夹就能批改权限,或者登录相应服务器或虚拟主机的文件管理器来设置。 如果还有不理解用宝塔面板来搭建wordpress网站的小伙伴,能够看下前文: 宝塔面板教程(1)基于云服务器搭建宝塔面板教程最全详解宝塔面板教程(2)宝塔面板增加WordPress站点具体图文教程宝塔面板教程(3)基于宝塔面板胜利配置网站SSL平安证书宝塔面板教程(4)WordPress网站的备份与复原(宝塔面板)原文地址:https://begin.yundashi168.com/131.html

September 30, 2020 · 1 min · jiezi

关于wordpress:WordPress禁止屏蔽特定关键字不被搜索查询的方法

对于WordPress程序比拟理解的站长敌人晓得,这款开源程序的确是以后比拟好用的集体网站建站零碎,然而唯独的问题就是随着应用工夫的推移如果咱们不加以技术解决会使得占用资源比较严重,而且可能呈现各种超负载的问题。比方最近有网友就遇到一个问题,他的网站访问量比拟大,当然用户通过站内搜索的频率就比拟大,于是在后面咱们老部落也有分享到一款【Search Limiter & Blocker】这款插件能够设置搜寻频率。 然而这里又呈现一个问题,有些搜寻行为并非用户搜寻而是软件搜寻,或者有些行为是用户歹意行为导致搜寻后果呈现违禁内容之后被歹意举报,当然实际上这样的举报成功率比拟低,即使有关键字也没有本质的内容。然而基于这样的占用网站负载的行为咱们如何解决呢? 第一、设置搜寻页面读取行为<?php$host = $_SERVER['HTTP_REFERER'];if (substr($host, 0, 16) != 'https://www.laobuluo.com/') {header("location:http://跳转的其余页面或者网站");exit;} //判断是不是本人页面进入的get_header();?>Select Code Copy 这里能够判断搜寻行为是不是在本人网站搜寻过来的,如果是内部行为间接跳转。 第二、自定义屏蔽关键字add_action('admin_init', 'uicss_search_ban_key'); function uicss_search_ban_key() { add_settings_field('uicss_search_key', '搜寻关键词屏蔽', 'uicss_search_key_callback_function', 'reading'); register_setting('reading', 'uicss_search_key'); } function uicss_search_key_callback_function() { echo '<textarea name="uicss_search_key" rows="10" cols="50" id="uicss_search_key" class="large-text code">' . get_option('uicss_search_key') . '</textarea>'; } add_action('template_redirect', 'uicss_search_ban'); function uicss_search_ban() { if (is_search()) { global $wp_query; $uicss_search_key = get_option('uicss_search_key'); if ($uicss_search_key) { $uicss_search_key = str_replace("\r\n", "|", $uicss_search_key); $BanKey = explode('|', $uicss_search_key); $S_Key = $wp_query->query_vars; foreach ($BanKey as $Key) { if (stristr($S_Key['s'], $Key) != false) { wp_die('请不要搜寻非法关键字'); //header("location:https://www.laobuluo.com"); } } } } }将咱们性能代码增加到网站Functions.php文件中。 ...

August 4, 2020 · 1 min · jiezi

关于wordpress:腾讯云对象存储插件WPCOS教程二-开通存储桶和获取API密钥

老蒋在上一篇文章中曾经介绍到咱们为什么要应用对象存储,一来是能够进步网站的访问速度,二来能够升高网站主机服务器的存储且进步搬迁效率。咱们在上个文章中看到咱们在装置WPCOS插件之后须要各种的参数配置,这些参数是从哪里来的呢?实际上咱们只须要在腾讯云对象存储开明存储桶,以及对应配置API密钥即可。 那咱们明天就在这篇文章中具体的介绍如何开明存储桶,以及存储桶中须要的配置信息。 咱们能够到存储桶列表中看到如上图所示。如果咱们首次应用对象存储,可能须要咱们点击开明。这里老蒋曾经有在应用对象存储,所以看到存储桶名称列表。这里咱们作为演示和学习,那就须要新创建存储桶。 咱们能够创立存储桶名称,抉择所属地区,这里我集体倡议抉择的地区和咱们的服务器类似或者相近。申请域名是默认赠送的收费域名,咱们也能够本人自定义,这个前面咱们会介绍到。拜访权限,抉择私有读公有写。而后点击创立确定。 这里咱们能够看到空间名称、所属地区、拜访域名。而后还有API信息,如何获取呢?看到左侧,如下图。 左侧找到对应的【密钥治理】或者拜访:https://console.cloud.tencent... 。即可看到密钥治理界面。 如果咱们还没有密钥,就须要新建一个。而后能够看到APPID、SecretID、SecretKey 三个选项参数。这个咱们一并填写到插件中。 填写结束之后咱们保留即可。这个时候咱们就配置结束WPCOS插件。前面一篇文章咱们再来具体介绍插件的性能和应用检测,确保检测没有问题,还能够正式的去应用到权重,以及迁徙已有文件到以后程序服务器。 总结,在这篇文章中咱们次要介绍到如何在腾讯云服务器中创立存储桶和API密钥的,且配置到咱们的WPCOS插件中。 来自:老部落/https://www.laobuluo.com/4037...

August 1, 2020 · 1 min · jiezi

关于wordpress:腾讯云对象存储插件WPCOS教程一-对象存储作用及下载安装

咱们老部落公布WPCOS插件也有蛮长时间,然而的确还是有不少的网友在应用插件的时候存在一些细节的问题没有失去很好的装置,以及在过程中遇到一些问题无奈失去解决。每每这些反复问题问到老蒋的时候,总感觉工作的重复性,当然这个问题的要害还在于咱们本人没有提供具体的插件装置教程,以及的确没有关照到根底的站长用户,并不是所有的站长都会应用网上的工具的。 这里老蒋筹备在这里通过具体的系列文章介绍这款WordPress腾讯云对象存储(COS)插件(WPCOS)的装置和部署过程。心愿老手敌人们认真浏览这个系列的文章,咱们也尽量的具体介绍到心愿可能帮忙到有须要的敌人,明天咱们来介绍WPCOS插件的下载和装置。 第一、对象存储的作用咱们在应用WordPress程序建站的时候你是否会发现网站文章都没有多少篇幅,然而图片很多,每次打包站点的时候数据包比拟大,备份比拟麻烦。而且咱们会发现网站并没有访问量,然而网站关上速度慢,次要是因为图片多加载慢导致的。于是咱们看到很多对于WordPress程序优化的技巧中看到倡议站长将动态拆散数据,比方能够将咱们的网站图片拆散到第三方对象存储中。 比方咱们在这篇文章中介绍的腾讯云对象存储(COS),咱们采纳支流云服务器商家的对象存储思考到速度和稳定性,这样咱们就不必放心对象存储中的图片数据失落,至多安全性是比拟高的。而且咱们在迁徙网站备份的时候,只须要备份咱们网站主体程序和数据库,图片等大文件动态文件间接能够不必备份,因为在对象存储中还是绝对平安的。 然而老蒋集体倡议,咱们也是须要定期备份到本地的。有些时候大商家也不代表相对平安,有些防范措施还是须要做的。咱们将动态文件搁置在对象存储上,通过对象存储服务商提供的高速拜访和CDN减速等,必定是比咱们搁置在服务器上速度快和稳固的,当然大部分对象存储是付费的,依照流量存储包计费。这个不在咱们的探讨范畴之内,咱们能够看看他们的计费模式。 对于首次应用腾讯云对象存储的用户/账户,能够收费取得6个月50GB规范存储容量,咱们能够首次尝试体验他们的产品。当前开始公费应用的时候,咱们能够依据理论的需求量购买独自的存储流量包。 第二、WPCOS对象存储插件装置目前咱们的WPCOS存储插件算是目前已有腾讯云对象存储插件中较为欠缺和性能极简且实用的。前几天看到腾讯云官网也有公布WordPress对象存储插件,大部分代码都是"参考"咱们插件的,从前端布局和性能的设置,以及变量名根本都统一。不过起初沟通后腾讯云这个我的项目人也分割老蒋,示意赔罪和鸣谢,可能前面在他们的插件官方网站也会提及咱们的产品致谢。 如果咱们有须要应用WordPress腾讯云对象存储插件的,咱们能够从WordPress官网下载插件,咱们曾经将最新版本推送到WordPress官网。 1、官网在线装置 咱们能够在WordPress站点后盾装置插件在WP云平台搜寻【WPCOS】,能够看到如上图所示,间接进行装置激活。然而,可能因为WordPress官网对于国内服务器的网络问题,咱们可能有些网友反馈无奈进行间接装置插件和主题,那咱们采纳第二个方法。 2、下载上传装置 插件地址:https://downloads.wordpress.o...咱们能够从官网间接获取下载地址,通过迅雷或者其余形式下载到本地。而后咱们间接在WP后盾上传插件装置。 装置激活结束之后,咱们能够在【设置】-【WPCOS设置】,看到WPCOS插件设置界面。 这个是咱们最新的LAYUI前端界面。看到设置参数,咱们只须要对应填写就能够。 总结,明天这个教程咱们次要介绍到WordPress装置对象存储的作用目标,以及如何在线装置WPCOS插件,以及浏览到插件的基本功能。

July 28, 2020 · 1 min · jiezi

关于wordpress:官网最新wordpress中文版安装包下载

wordpress中文版安装包下载钻石恒久远 一颗永留传,wordpress作为寰球最风行的网站程序,目前世界上超过30%的网站由wordpress搭建,因为国内无奈失常拜访wordpress官方网站,很多敌人都无奈下载到wordpress安装包,所以就在这里为大家整顿了wordpress的中文版安装包,不便大家下载。wordpress-5.4.2-zh_CN .zip【官网最新】【举荐下载】 工夫:2020-03-31 概述:继续改良区块编辑器wordpress-5.4.1-zh_CN .zip 工夫:2020年4月29日wordpress-5.3.2-zh_CN.zip 工夫:2019-12-27 概述:安全更新,次要修复了几个平安问题wordpress-5.3.1-zh_CN.zip  工夫:2019-12-13 概述:安全更新,次要修复了多个安全漏洞问题wordpress-5.2.6-zh_CN.zip 工夫:2020年4月29日 概述:概述:新增健康检查、PHP谬误爱护、不再反对PHP5.6以下版本wordpress-5.0.10-zh_CN.zip 工夫:2020年6月11日wordpress-4.9.4-zh_CN.zip工夫:2018年2月8日上述中文版版本不够用?须要下载其它中文版本WordPress,能够拜访 wordpress历史中文版本下载地址这里总结一些wordpress装置和应用教程阿里云服务器搭建宝塔面板图文教程WordPress装置和搭建教程(图文) 基于宝塔面板WordPress网站热门主题汇总(继续更新)原文地址:http://tencent.yundashi168.com/597.html

July 21, 2020 · 1 min · jiezi

关于wordpress:WordPress程序网站是使用Memcached缓存好还是Redis缓存好

明天,站长在群外面看到小伙伴在聊WordPress缓存减速的问题,于是就好奇撸了两眼。而后就看了看本人的站缓存用的是 Memcached。对于数据库中应该装置哪种缓存?Memcached缓存还是Redis缓存?,还是有必要把剖析两者之间的区别说下。 咱们钻研的程序是Wordpress,所以数据量注定不会太大。参观的次数不是太多。 Memcached和Redis的区别: 数据存储模式Memecache将所有数据存储在内存中,内存会在断电后挂起,并且数据不能超过内存大小。 Redis的一部分存在于硬盘上,能够保证数据的持久性。 数据反对类型Memcache对数据类型的反对绝对简略。 Redis有简单的数据类型。 应用根底模型差别它们在与客户端通信的底层实现和利用协定方面彼此不同。 Redis间接本人构建虚拟机机制,因为如果个别零碎调用零碎函数,挪动和申请会节约肯定的工夫。 值有不同的值Redis能够达到1GB,而memcache只有1MB。www.113p.cn 到底两个缓存 Memcached或Redis哪个更适宜WordPress程序 依据以上比拟,咱们发现memcached是内存存储,其最大耗费是512兆内存。Redis能够占用有限的内存和硬盘空间。Memcached更适宜存储简略的值。因而,小白得出结论,针对WordPress博客内容少的状况,他倡议应用memcached作为MySQL数据库的缓存。 然而这里也有一个特地状况要说,很多人做站就喜爱采集,对于一些喜爱采集大兄弟。因为采集的数据量微小。他们中的大多数有超过100000+篇文章。我的倡议还是最好用Redis。毕竟,有这么多内容的服务器配置不应该太低。

July 21, 2020 · 1 min · jiezi

关于wordpress:WordPress插件设计

一、WordPress介绍 如果是Php开发的同学,或者对博客和CMS有肯定理解的同学都晓得这个,以下是百度的解释: WordPress是一款集体博客零碎,并逐渐演化成一款内容治理系统软件,它是应用PHP语言和MySQL数据库开发的,用户能够在反对 PHP 和 MySQL数据库的服务器上应用本人的博客。WordPress有许多第三方开发的免费模板,装置形式简略易用。不过要做一个本人的模板,则须要你有肯定的专业知识。比方你至多要懂的规范通用标记语言下的一个利用HTML代码、CSS、PHP等相干常识。WordPress官网反对中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress领有成千上万个各式插件和成千上万的主题模板款式。 [1]https://baike.baidu.com/item/... WordPress也是反对插件的,因为最近在做插件零碎的设计,所以想剖析下它的插件设计思维。 二、插件剖析 对于一个反对插件的零碎应该具备哪些性能,前文已有阐明,有趣味的同学能够查看:**Discuz插件设计 ** 先看下WordPress插件的根本构造: WordPress插件都要放在wp-content/plugins目录下,每个插件为一个目录,每个目录下能够放readme.txt和LICENSE.txt等阐明文件,而后有一个主文件,在下面官网的 akismet 插件中,主文件就是 akismet.php。 1、对于装置和反安装 WordPress中这两个概念比拟淡,取而代之的是启用和禁用,因为默认插件是不启用的,反正只有一次执行机会,最终成果差不多,只有概念上保持一致。 register_activation_hook( __FILE__, array( 'Akismet', 'plugin_activation' ) );启用是调用register_activation_hook函数,即注册钩子的形式实现; 禁用是调用register_deactivation_hook实现,原理同上。 当然也能够注册卸载的钩子:register_uninstall_hook 2、插件阐明信息 这些通过在主文件的形容里示意: /*Plugin Name: Akismet Anti-SpamPlugin URI: https://akismet.com/Description: Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from spam</strong>. It keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key.Version: 4.1.5Author: AutomatticAuthor URI: https://automattic.com/wordpress-plugins/License: GPLv2 or laterText Domain: akismet*/具体含意就不在这里阐明了,总的来说实现还是比较简单的,这须要审核插件的人或者零碎能主动审核进去,不然就难堪了。 ...

July 18, 2020 · 1 min · jiezi

如何手机访问本地电脑下的wordpress网页

手机和电脑必须在同一个局域网内。1.需要知道自己电脑的ip ,可以通过ifconfig查看,端口号要知道,可以在mamp软件中查看服务的端口。2.修改mamp的配置,把Name换成ip地址3.修改wordpress的网站地址 4.到此,不出意外的话,就可以通过 http://ip:端口,如果配置了https。访问路径为https://ip:端口

June 10, 2020 · 1 min · jiezi

wordpress-wppagenavi-插件-只获取-上一页按钮

$option = [ 'pages_text' => null, 'current_text' => null, 'page_text' => null, 'first_text' => null, 'last_text' => null, 'prev_text' => null, 'next_text' => null, 'dotleft_text' => null, 'dotright_text' => null, 'num_pages' => null, 'num_larger_page_numbers' => null, 'larger_page_numbers_multiple' => null, 'always_show' => 0, 'use_pagenavi_css' => 0, 'style' => 1, ]; ?> <div> <?php // ページ送り if( function_exists('wp_pagenavi')) $option['next_text'] = null; $option['prev_text'] = '上一页'; wp_pagenavi(array('query' => $wp_query,'options' => $option) ); ?> </div>

June 5, 2020 · 1 min · jiezi

wordpress登录界面样式优化

效果 引入样式表functions.php function login_scripts() { wp_enqueue_style( "login-index", get_template_directory_uri() . "/style/login.css" );}add_action('login_enqueue_scripts', 'login_scripts');样式less .login { position: relative; background-image: url("https://img.yzb123.top/wp-bj.jpg"); background-position: center; background-size: cover;}#login { position: absolute; left: 50%; margin-left: -200px; padding: 0; top: 50%; margin-top: -300px; background: #fff; width: 400px; border-radius: 4px; h1 { padding: 30px 0; a { background-image: url("https://img.yzb123.top/1.png"); border-radius: 50px; box-shadow: 0 0 10px 5px #e4eaef; background-size: 80% auto; background-position: center; margin: 0 auto; width: 80px; outline: none; height: 80px; transition: all .2s; &:hover { box-shadow: 0 0 10px 5px #bfd9ef } } } form { box-shadow: none; margin-top: 0; padding: 10px 30px 2px; input { padding: 7px 10px; margin-top: 8px; font-size: 16px; border-radius: 4px; height: 40px; &:focus { border-color: #419df5; box-shadow: 0 0 2px rgb(123, 184, 243); } } .forgetmenot { padding-bottom: 20px; padding-top: 7px; input[type=checkbox], input[type=radio] { width: 20px; height: 20px; margin-top: 0 } } .submit { float: none; input[type=submit] { width: 100%; background: #419df5; border-color: #419df5; line-height: 40px; padding: 0; text-shadow: none; box-shadow: none } } } #nav, #backtoblog { padding-left: 30px }}@media screen and (max-width: 767px) { #login { left: 5%; margin-left: 0; width: 90% }}效果预览前小端 ...

October 16, 2019 · 1 min · jiezi

阿里云Ubuntu下LNMP-wordpress建站及问题总结

云主机配置我之前云主机是windows的安装wordpress各种环境挺麻烦,安装PHP的时候还缺失DLL文件,所以果断换到Linux系统中来(虽然之前没有用过)。第一是为了环境安装方便,第二学习Linux命令。可以先把实例停止了,然后更换系统盘就可以顺利切换到想要的Linux系统了如果还没有购买的朋友当然直接后买之后选择Linux系统即可,还没有购买的同学可以通过链接购买有优惠哦 LNMP环境配置准备安装PHPsudo apt install phpsudo apt install php-fpmphp-fpm 用于Nginx fastcgi 转发php 安装Mysqlsudo apt install mysql-serversudo apt install php-mysqlsudo mysql_secure_installation ##主要做mysql安全配置如(是否开启远程登录...)安装Nginxsudo apt install nginx下载解压wordpresswget https://wordpress.org/latest.tar.gztar xf latest.tar.gz安装phpMyadminsudo apt install phpmyadmin环境配置mysqlwordpress是数据库名称,root是登录mysql的用户名,password是登录mysql的root用户对应的用户名 CREATE DATABASE wordpress;GRANT ALL PRIVILEGES ON wordpress.* TO "root"@"localhost" IDENTIFIED BY "password";FLUSH PRIVILEGES;Nginx配置vim /etc/nginx/sites-available/default server { listen 80; listen [::]:80; root /var/www/html/wordpress; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass 127.0.0.1:9000; } }wordpress配置查找wp-config-sample.php并将其重命名为wp-config.php,然后编辑该文件(请参阅编辑wp-config.php)并添加数据库信息。为了安全,还需要输入一些密钥信息,打开在线秘钥生成器 DB_NAME -> wordpress , wordpress为第二步创建的数据库名称DB_USER -> root, root为登录mysql的用户名DB_PASSWORD -> password, password是登录mysql数据库的用户对应的密码DB_HOST -> localhost, hostname,一般不用修改当然这一步可以不配置,在wordpress安装登录后,网页上会生成wp-config.php的内容,直接复制后新建wp-config.php后即可。 ...

August 27, 2019 · 1 min · jiezi

借助URLOS快速安装WordPress

简介WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。截至2018年4月,排名前1000万的网站超过30.6%使用WordPress。WordPress是最受欢迎的网站内容管理系统。WordPress是当前因特网上最流行的博客系统。 今天我们介绍一种更快速的安装方法,那就是通过URLOS一键安装WordPress。urlos是什么? URLOS是一个云主机管理软件,基于Docker容器技术打包和运行应用,包含负载均衡和故障转移等高级功能,可自动识别机器和云应用的故障并将云应用转移至可用的机器上,单机故障并不影响业务开展。 你可以使用以下命令安装URLOS: curl -LO www.urlos.com/iu && sh iu在此不讨论URLOS的使用方法,感兴趣的朋友请自行搜索,我们直接来看URLOS如何快速安装WordPress: 安装流程1. 登录URLOS系统后台,在应用市场中搜索“WordPress”,找到之后,直接点击安装按钮 2.填写服务名称、选择运行节点、选择智能部署 3.填写域名:www.aaa.com(这里填写自己的域名) 4.设置数据库 然后点击“提交”按钮,等待部署完成;

July 10, 2019 · 1 min · jiezi

Bluehost-WordPress网站搭建疑问解答

如果有创建境外网站的需求,比如做Niche或Affiliate网站,通常会选择Bluehost做服务器。下面针对在Bluehost上搭建网站需要注意的地方做个解答。 1、如何选择套餐? 一般选择推荐的版本,预算充足就选WP Pro。 2、是否需要在购买服务器之后也注册域名? 如果没有事先注册好的域名,可以注册一个新域名,首年免费,但是到期之后后续的费用还是会比其他服务商的费用高,所以域名最好是先注册好,而且变更主域名也麻烦,需要提供经过账号认证才可以变更。 3、注册账号信息有哪些需要特别注意? 姓名可以拿护照上的名字拼音,Street Address需要填写实际的居住地址,电话号码和邮箱也要是真实的,Bluehost工作人员在服务器注册几天之后会暂时冻结你的账号,需要提供官方有效身份证件和包含居住地址的消费账单(必须是英文的)认证通过之后,账号才可以继续使用,如果长时间不认证重新激活账号,Bluehost会注销你的账号并退款。 详细见:Bluehost WordPress注册账号信息注意事项 4、SSL认证打开就行了? 在购买账号初始化完毕登陆到控制面板之后,在Setting板块显示的是临时的URL,因为环境的初始化用的是临时的URL参数,在打开SSL认证开关之后,只需要在初始化完毕之后把临时的URL改为主域名即可,用https://xxxxxx.com,这边一定要用https,而不是http。 5、Bluehost是否可以变更主域名? 最好事先规划好,不要中途变更域名,变更域名需要在认证通过之后,才可以让Bluehost技术支持给你操作。沟通非常耗时,能不变更最好不要变更。 6、怎么解决Bluehost认证需要提供的英文消费账单? 在注册账号之后,认证需要提供官方有效身份证件,证件可以用护照,但是对中国国内的人要提供英文消费账单就麻烦了,而且账单上还要有你注册Bluehost账号时候填写的居住地址信息。答案就是下面这份Xfinity网费账单: 详细操作见:Bluehost主域名变更 7、Bluehost怎么注销账号和退款? 如果注册的账号是在一个月内申请的可以申请注销账号并退款。如果要注销BlueHost账号并退款,入口并不在个人账号界面,而是在Billing。 详细解答见:BlueHost 账号注销和退款流程 8、Bluehost域名怎么转出? 详细操作步骤见:Bluehost域名服务商切换 9、Bluehost怎么设置网站后台邮箱客户端? 详细操作步骤见:Bluehost 邮箱客户端设置 原文见:Bluehost WordPress网站搭建指南

May 26, 2019 · 1 min · jiezi

WordPress-使用钩子进行主题开发时避免死循环

WordPress 开发时,我们经常会使用 save_post 或 create_post_tag 等钩子,以便在更新文章或分类时,增加一些附加数据,这些钩子触发的时机是发布或更新数据的时间,如果处理不好,就会出现死循环的情况,导致更新数据时出现死循环的情况。 举个例子,我们需要在保存文章的时候,挂在一个函数到 save_post 钩子上,这个函数的目的是修改文章标题,在文章标题前面加上作者名称,我们通过调用wp_update_post 函数来显示这个修改。示例代码如下。 add_action('save_post', 'wprs_update_post');function wprs_update_post($post_id){ $title = get_the_title($post_id); $title = "一刀:" . $title; $args = [ 'ID' => $post_id, 'post_title' => $title, ]; wp_update_post($args);}上面的代码中,「save_post」这个钩子发生在 wp_update_post 函数的调用过程中,通过「save_post」钩子,我们又调用了 wp_update_post 这个函数,这个函数中,又运行了「save_post」钩子。于是,程序就这么不知疲倦的运行了下去。 有经验的程序员可能很容易就发现了这个问题,可是电脑并不知道这是个死循环,我们不能去责怪电脑,毕竟那只是个没有思想的机器。我们可以做的是在开发过程中尽量小心,避免死循环的出现。 那么,怎么解决 WordPress 中出现的这个死循环呢?其实方法很简单。 怎么避免 WordPress 中的死循环还是上面的代码,我们稍作修改,就可以完美的避免这个死循环了。下面是修改后的代码,对比上面出现死循环的代码,我们只添加了两行。 add_action('save_post', 'wprs_update_post');function wprs_update_post($post_id){ // 获取文章标题并在文章标题前面加上作者 $title = get_the_title($post_id); $title = "一刀:" . $title; $args = [ 'ID' => $post_id, 'post_title' => $title, ]; // 更新文章 remove_action('save_post', 'wprs_update_post'); wp_update_post($args); add_action('save_post', 'wprs_update_post');}原理很简单,在运行 「wp_update_post」函数之前,我们先卸载掉挂在掉「save_post」钩子上导致死循环的函数,这样就不会出现重复执行 「wprs_update_post」函数了,更新完文章后,我们再把这个钩子挂载上,以便后续使用。 ...

May 22, 2019 · 1 min · jiezi

使用-docker-搭建-wordpress

导语这不是一篇正规搭建 wordpress 的文章,是基于上一篇的基础之上,进行的实现。最终的实现是使用 nginx 做代理,独立的 wordpress 容器,连接 laradock 的 MySQL 做存储。 修改 nginx 代理相较于 laradock 的配置,只是修改监听的域名以及转发的端口。在 /etc/nginx/conf.d/ 目录下新建 wordpress.conf 文件,如下 server { listen 80; server_name blog.you_site.com; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://[宿主机IP]:8001; }}修改之后记得重启 搭建 wordpress 容器拉取镜像 docker pull wordpress因为 wordpress 要连接 MySQL 容器,正好 laradock 就有,就用这个好了。连接的方式不用 --link,用 --network,可以参考这里laradock 中 MySQL 的 network 在 docker-compose.yml 文件中有写,如下同时使用 docker network ls 查看,可以看到 laradock_backend 这个网络。显而易见使用 laradock_backend 就可以 ...

May 7, 2019 · 1 min · jiezi

用nginxWordPress搭建个人博客全流程

0x00 前言        WordPress是世界上最受欢迎的CMS系统,它是基于php和MySQL技术栈的,并且还有很多插件,可扩展性非常强。正好最近有一台空闲的ECS,于是来搭建一个玩玩。本教程是基于LEMP技术栈来搭建的,各个版本如下: L版本为CentOS7.6版本,E版本为nginx1.12.2版本M版本为Distrib 5.5.60-MariaDBP版本为php7.2此外,现在全面https已经是趋势了,自然我们也不能落后,所以还会使用Let's Encrypt来生成免费的SSL证书进行配置 0x01 前置条件有一个域名,我自己的域名为nomansky.xyz一台VPS或者云主机,如果是国内的IP需要备案具有sudo权限或root权限的用户,这里我新建一个wordpress用户来运行程序,并且使用下列命令设置为nologina. sudo useradd -s /sbin/nologin wordpress使用sudo yum install -y epel-release安装了epel源关闭firewalld,我更喜欢用iptables来做安全加固a. sudo systemctl stop firewalldb. sudo systemctl disable firewalld0x02 安装nginx执行sudo yum install nginx安装nginx启动nginx守护进程并设置为开机自启a. sudo systemctl start nginxb. sudo systemctl enable nginx将wordpress用户加入到nginx组usermod -a -G nginx wordpress,同时设置目录权限chmod 770 -R /var/lib/nginx/此时访问 http://nomansky.xyz 即可看到如下页面,则说明nginx安装成功了0x03 安装Mariadb        Mariadb作为MySQL的一个开源的分支,已经成为了CentOS用来替换MySQL的默认的数据库,所以我这里也使用Mariadb作为数据库。 执行sudo yum install mariadb-server -y来安装mariadb启动Mariadb并设置为开机自启a. sudo systemctl start mariadbb. sudo systemctl enable mariadb执行sudo mysql_secure_installation来加固Mariadb。你会看到要求设置数据库root密码、移除匿名用户、限制只能通过localhost登陆数据库root用户和移除test数据库,这里推荐全部选Y(YES),如下图所示,默认的数据库root密码为空除此之外,还要把mariadb监听的地址改为127.0.0.1:3306a. vim /etc/my.cnf.d/server.cnf打开Mariadb的配置文件b. 在[mysqld]下面加上bind=127.0.0.1,如下图所示c. 执行systemctl restart mariadb重启数据库d. 执行netstat -lntp可以看到已经监听为本地回环地址了0x04 创建数据库在安装完mariadb数据库,并对其进行加固后,我们自然需要新建一个数据库来存放数据,这里首先我们用之前设置的root账号密码来登陆数据库mysql -uroot -p,并执行以下几条语句 ...

April 24, 2019 · 3 min · jiezi

WordPress版微信小程序35版发布

最近花时间对WordPress版微信小程序做了一些完善和调整,修复不少程序的问题。一个程序的完善是持续和渐进的,没有最好,只有更完善。虽然会采纳一些用户的建议和意见,但我会从一个产品角度去考虑,哪些功能应该加,哪些需要舍弃,如果你需要更专业的解决方案,可以参考我的专业版小程序-微慕小程序. WordPress版微信小程序3.5版本的更新内容说明如下: 1.调整小程序海报小程序原来的海报程序存在以下的问题: 1)图片没有裁剪,导致海报的图片发生变形。2)海报的文字调整起来比较麻烦。 为了解决上述问题,我采用一个开源的小程序组件:wxa-plugin-canvas可以比较好的解决这两个问题,同时为了增加海报的转发量,把转发者的头像也放到海报里,增强互动性。新生成的海报样式如下: 更新海报程序需要注意以下问题: 1)downloadfile域名设置需要在微信小程序的管理后台设置downloadfile域名,域名需要包括以下三个域名: A) wx.qlogo.cn :用于显示转发者的头像 B)首图地址的域名 :用首图作为转发的图片,必须设置首图的地址的域名。 C)特色图片地址的域名:用特色图片作为转发的图片,必须设置特色图片的地址的域名。 如果上述域名设置错误或没有设置,将会导致生成海报失败。 如果需要修改海报里的文字、图片样式、布局等,请看detail.js里的creatArticlePoster方法 2.完善用户信息用户信息的完善主要是两个部分:1) 在wordpress的后台增加微信用户的头像,使用微信用户的昵称作为wordpress用户的昵称和显示名,让网站的管理者更方便管理用户。 2) 在小程序端的“我的”页面的调整。在“我的”页面增加了用户的角色,显示当前用户在wordpress网站里的角色;增加了更新用户信息和退出登录的功能。 更新用户信息:如果用户更新了微信里的昵称或头像等,可以使用这个功能更新用户信息。退出登录:如果用户想退出当前小程序的登录,可以点击退出。 特别提示:如果发生登录失败的情况,可以通过退出登录的功能清除缓存,再次登录。 退出登录的图标如下图所示: 3.增加评论审核在以前的版本里,在小程序里对文章进行评论后,会直接显示的评论的内容,不需要经过站长审核。在这个版本里,增加了对评论是否审核的选项。开启后,所有的小程序端的评论都必须经过审核后才会显示(在网站端也不会显示)。这个选项在插件REST API TO MiniProgram里设置,如下图所示: 4.调整支付代码在插件里的支付代码是在的微信官方提供的微信支付示例代码基础上修改的,而这个代码不少的具有支付功能的插件也用了,因为使用了同一套代码,可能会导致支付的失败或者插件的冲突,为了解决这个问题,我调整了微信支付代码的类名规则,避免插件的冲突。 5.功能完善1)修复获取文章是否点赞的bug.2)评论的数量过滤掉未通过审核的评论.3)排行数据里过滤非文章类的内容。4)增加sitemap.json,支持微信优先收录。5)修复腾讯视频过多导致的加载失败的问题。 wordpress版小程序及配套wordpress插件下载提示:如果在开发工具里看到提示“无效的 appJSON"window"”,不用理会,在app.json文件里加qbDebugKey是为了调试qq浏览器小程序的,不用理会,这个提示不会影响程序的运行。 小程序下载地址:版本3.5 https://github.com/iamxjb/win... 如果因为某些原因github无法访问,可以选择以下镜像地址: 1.https://git.oschina.net/iamxj... 2.https://code.aliyun.com/iamxj... 3.https://coding.net/u/xjb/p/wi... 4.https://gitlab.com/xiajianbo/... 插件下载地址:版本1.5.2 插件的更新支持wordpress后台直接更新 Wordpress官方下载地址:https://wordpress.org/plugins... github站下载地址:https://github.com/iamxjb/res... 有关开源版,你有什么好的建议,欢迎告诉我,我们一起来完善这个开源项目。 如果本程序对你有所帮助,请不吝在github上Star。 谢谢你阅读这篇文章,谢谢你对我的支持。

April 23, 2019 · 1 min · jiezi

jQuery + Php 实现类似 Medium 的文章页内容批注评论功能

还没时间做 WordPress 插件… 背景偶然的机会,在准备做小半谈否 API 的时候,正在寻找用户人群时看到了利器 (liqi.io) 网站 他们使用了一款 2015年(貌似是)由一个国外开发者做的句子标记插件,实现了文章中点击句子即可标记并评论的功能 同样的 Medium 也有句子标记功能,还是蛮有用的 增加了互动,访客也能参与其中… 代码没有来得及整理,先贴代码 //内容数据都保存在当前文章自定义字段$stream_ids = get_post_meta($post->ID,'stream_ids',true);$stream_contents = get_post_meta($post->ID,'stream_contents',true);$stream_users = get_post_meta($post->ID,'stream_users',true);$stream_users = explode('######',$stream_users);$stream_ids = explode('######',$stream_ids);$stream_contents = explode('######',$stream_contents);$count1 = count($stream_ids);$count2 = count($stream_contents);$count3 = count($stream_users);↑ 文章页头部获取标记内容 <?php if(wp_is_mobile()) { $is_wap = 1; } global $current_user; $user_id = $current_user -> ID; if(empty($user_id)){ $login = 0; }else{ $login = 1; }?><div class="new-single-comment-fixed" id="comment_fixed" style="<?php if(!empty($stream_contents[0]) && !$is_wap) echo 'display:unset' ?>"> <?php if($login){ ?> <input type="text" name="mark_comment" value="请输入批注,按下Enter发送" id="mark_comment" style="display:none"> <?php } ?> <div style="text-align: right;font-size: 1.4rem;padding-bottom: 10px;padding-right: 15px;display:none;" id="comment_btn"> <button style="background: #444;color: #fff;padding: 3px 20px;border-radius: 2px;" id="send_comment">确定</button> <button style="background: #eee;padding: 3px 20px;border-radius: 2px;margin-left: 10px;" id="cancel_comment">取消</button> </div> <div class="new-single-comment-div-list" style="<?php if(empty($stream_contents[0])) echo 'display:none' ?>"> <?php if($count1 == $count2 && $count2 == $count3){ for($i=0;$i<$count3;$i++){ ?><div class="new-single-comment-div hover-mark-content" style="<?php if($count3 == 1 && $i == 0) echo 'margin-bottom: 0px;'; else echo 'margin-bottom: 20px;'; ?>" id="<?php echo $stream_ids[$i]; ?>"> <h4><?php echo get_avatar($stream_users[$i],96,'','user-avatar',array('width'=>120,'height'=>120,'rating'=>'X','class'=>array('new-single-comment-img'),'extra_attr'=>'title="user-avatar"','scheme'=>'https') ); ?><?php echo get_user_by('id',$stream_users[$i])->display_name; ?></h4> <span class="new-single-comment-p"><?php echo $stream_contents[$i]; ?></span> </div> <?php }} ?></div> </div>↑ 文章页展示评论区块 ...

April 21, 2019 · 4 min · jiezi

WordPress文章阅读量统计和显示(非插件, 刷新页面不累加)

本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发、Nodejs、Python、Linux、IT资讯等板块.WordPress文章阅读量统计实现思路:每进入一次文章详情页面, 就会通过cookie判断该用户是否在设定的过期时间内访问过该文章, 若没有访问过, 则浏览次数增加一次。实现流程如下:1.添加以下代码至主题的functions.php文件, 放在该文件最下面即可:function getPostViews($postID){ $count_key = ‘views’; $count = get_post_meta($postID, $count_key, true); if($count==’’ || !$count){ return “0”; } return $count;}function setPostViews($postID){ $count_key = ‘views’; $count = get_post_meta($postID, $count_key, true); if($count==’’ || !$count) { $count = 1; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, $count); }else{ $count++; update_post_meta($postID, $count_key, $count); }}2.添加以下代码至主题的single.php 文件, 时间间隔可自定义设置, 放在该文件最上面即可:<?php if(!isset($_COOKIE[‘views’.$post->ID.COOKIEHASH]) || $_COOKIE[‘views’.$post->ID.COOKIEHASH] != ‘1’){ setPostViews($post->ID); setcookie(‘views’.$post->ID.COOKIEHASH,‘1’,time() + 99999999,COOKIEPATH,COOKIE_DOMAIN);} ?>3.将以下代码添加到要显示浏览次数的位置, 例如 文章列表(template-parts/content.php), 文章详情页面(template-parts/content-single.php), 搜索结果页面(template-parts/content-search.php)等。<?php echo getPostViews(get_the_ID());?>以下是我的个人博客 http://www.sufaith.com 添加展示阅读量的代码和实际显示效果。 ...

April 3, 2019 · 1 min · jiezi

WordPress版微信小程序3.2版发布

WordPress版微信小程序(下称开源版)距离上次更新已经过去大半年了,在此期间,我开发新的专业版本-微慕小程序(下称微慕版),同时开源版的用户越来越多,截止到2018年11月26日,在github star 数达到795。很多人会有疑问,我开发了微慕版,是否放弃更新开源版,现在我给你答案:不会。我会继续完善和优化。WordPress版微信小程序3.2版发布,就是对这个答案的践行。微慕版虽然在表面上只是在开源版上增加了一点功能,但实际上无论是插件程序代码,还是小程序的代码都完全重构了,真正朝“专业”迈进了。有关微慕版的详细介绍,请看文章:微慕-专业WordPress微信小程序通过微慕版的开发,我踏不少的坑,也积累很多开发wordpress插件和微信小程序的经验,这让我在完善和维护开源版时候,有了更多的信心和心得。WordPress版微信小程序3.2版主要的更新如下:全新的wordpress插件:REST API TO MiniProgram1.由于我是第一次开发wordpress插件,开源版的wordpress插件:wp-rest-api-for-app ,代码粗糙而丑陋,混乱的命名规则,杂乱的文件结构。此次更新,我完全重构了插件,推出新版的插件:REST API TO MiniProgram。代码结构参考wordpress 官方 rest api,遵循wordpress插件的编写规范,性能和运行速度都有所提高。下载地址:Wordpress官方下载地址:https://wordpress.org/plugins…github站下载地址:https://wordpress.org/plugins…2.插件完全兼容老版本的开源版的微信小程序前端,做到平滑的升级。升级后,不会对已经上线的微信小程序产生影响。注意:必须停用老版本的wordpress插件,才能使用启用新版本的插件。3.在新版的插件里加入了微信支付的代码,只需要在插件的后台配置微信支付商户信息,即可使用赞赏和捐赠的功能。4.浏览数的代码也放进了插件,无需改动主题的functions.php文件,只需要在主题的显示浏览数位置加入: < ?php ram_post_views(’ ‘, ’ 次’); ?>5.我已将插件的代码提交到wordpress官方插件,希望可以通过审核。如果通过审核,更新插件就可以通过wordpress后台直接更新了。完善优化小程序的授权登录功能2018年10月10日起新提交的版本,用户在小程序、小游戏中需要点击组件后,才可以触发登录授权弹窗、授权自己的昵称头像等数据。本次更新,调整授权登录的代码,以适应微信getUserInfo接口的调整,并优化了用户信息的缓存。有关开源版,你有什么好的建议,欢迎告诉我,我们一起来完善这个开源项目。谢谢你阅读这篇文章,谢谢你对我的支持。

April 2, 2019 · 1 min · jiezi

REST API TO MiniProgram 上线WordPress官方插件库

全新开发的用于 wordpress微信小程序的插件 REST API TO MiniProgram 今天上线WordPress官方插件库。这个插件的上一个版本叫:wp-rest-api-for-app,作为一个18年的码农,我很惭愧 ,wp-rest-api-for-app 是个丑陋的程序,当初完全是为了开发小程序匆忙写出来了,代码粗糙而丑陋,混乱的命名规则,杂乱的文件结构。此次更新,我完全重构了插件,相较上一个版本,这个版本做了结构性的重构,依据WordPress的插件规范编写,并参考官方api的写法,引入控制类,调整api的路由接口和安全校验。经过这次重构,我想应该给这个插件一个全新的名字,并提交到wordpress官方。一周前我提交了wordpress官方,通过了审核,加入wordpress的官方正规军。现在可以通过wordpress后台直接下载和安装插件了。REST API TO MiniProgram插件的wordpress官方下载地址:https://wordpress.org/plugins…一.功能介绍REST API TO MiniProgram 插件并没有大规模重写wordpress官方提供的rest api 接口,是官方api的扩充和优化,主要是为了满足微信小程序的功能。主要的核心功能如下:wordpress文章相关1.获取滑动图片的文章数据。2.获取文章详情页的扩展数据,例如评论数、点赞数、浏览数、赞赏数等。3.获取排行版的文章数据(浏览数,点赞数,评论数,赞赏数)。4.解析腾讯视频。wordpress评论相关1.显示评论及回复2.提交评论及回复,回复评论发送模版消息wordpress分类相关1.分类(专题)的订阅2.添加分类封面图微信支付相关1.赞赏的微信支付功能。2.微信支付后发送模板消息。微信授权登录相关1.获取用户授权信息,包括OpenID和UnionID2.模板消息发送通用实现。二.程序目录及文件说明1.插件主文件:rest-api-to-miniprogram.php2.includes文件夹1)ram-weixin-api.php:微信相关api2)ram-util.php:公用方法3)ram-api.php:插件api主入口程序4)api目录:api接口的路由控制类和功能实现。5)filter目录:wordpress相关filter功能实现。6)settings目录:wordpress 后台设置相关实现7)wxpay目录:微信支付相关api(在微信源码基础改造)8)js目录:存放js文件9)images目录:存放图片文件2.qrcode文件夹:存放小程序产生的二维码图片关于REST API TO MiniProgram 插件,你有什么好的建议,欢迎告诉我,我们一起来完善。

April 2, 2019 · 1 min · jiezi

微慕-专业WordPress微信小程序

2018年9月,微慕小程序(以下简称微慕版)发布以来,一直想写一篇详细详细的说明文字,全面解读这套专业的WordPress小程序。昨天,又上线了一个稳定版本后,我才下决心,也更有信心,写点文字,向你推荐我花了半年时间开发这套小程序产品。自从2017年初,我发布开源版的WordPress微信小程序(以下简称开源版)。开源版程序最开始是我学习小程序开发的成果,为了让更多的WordPress站长可以方便搭建自己的微信小程序,于是我就开源到了github上,没想到很多WordPress站长喜欢,截止到2018年11月8日,在github star 数达到755。程序后续也不断地优化和完善,现在已经更新到3.15版本了。开发微慕版的初衷开源版是我当初学习的作品,因此无论是WordPress插件还是小程序的架构都比较初级,站在专业程序员的角度来看,代码写得很丑陋。同时存在一些不足:1、WordPress 插件性能不高,代码容错机制不好。2、WordPress 插件代码结构有些混乱和随意,没有遵循wordpress插件的编写规范。3、微信小程序结构不够完善,不利于二次开发,界面也不够友好。4、缺乏完善的用户会员中心,无法灵活适应微信授权机制的调整。5、缺少互动的功能,只能简单地阅读和评论。6、配置不够灵活,改动设置需要修改代码,重新提交审核。为了解决这些痛点,我曾想去整体重构开源版,但发现如果在开源版基础上去重构的话,积重难返,难度很大,同时无法做到版本的兼容性,对已经上线的小程序带来不良的影响。于是在2018年初,萌生了重新开发一个专业版的微信小程序的想法。经过半年的努力(时间这么长,主要我水平差,还有拖拉导致)我完全重写了插件和小程序的代码。在我的眼里,专业的WordPress小程序应该有哪些特点呢?有关代码结构部分,我会在以后的文章里详细介绍,本重点介绍微慕版在专业性方面的特点。基础功能微慕版的基础功能涵盖开源版所有的功能,部分功能优于开源版,基础功能列表如下:1.多种缩略图方式显示文章列表(首页,分类文章),包括显示文章分类和发布时间,分页加载;同时用户可以自己选择显示的方式,并立即生效2.在首页用轮播方式显示指定文章。3.显示文章分类(专题),包括显示分类的封面图片。支持多级分类,理论上支持无限分类。考虑在小程序里的显示,目前小程序支持3级分类。4.显示文章内容页,包括文章站内链接跳转,站外链接复制到剪切板,显示猜你喜欢的相关文章。5.显示文章评论,提交评论和回复评论,加载评论分页,显示微信用户评论者的头像。回复评论,给评论者发送回复的模板消息。6.支持全文搜索。7.授权用户对文章点赞,转发,分享,或阅读原文,实时显示文章浏览数,点赞数,评论数。8.支持微信支付对文章赞赏,赞赏后发送模板消息致谢赞赏人。9.web-view内嵌网页跳转。10.生成带小程序二维码文章海报,用于转发朋友圈及微信群。高级功能1.付费阅读虽然点赞可以通过微信支付的方式,让文章的作者获取经济的收益,但这个过程是比较被动。在内容创业不断深入的今天,为内容付费已经成为互联网中比较普遍的消费行为了。有不少的作者,希望提供有价值的内容给有需要的人,同时获得一份收益。微慕版支持付费阅读,可以在微慕插件的后台设置专题订阅收费和单篇付费阅读。比如在目录分类设置付费项目:也可以在针对单篇文章设置付费项目:设置后,在小程序端打开文章后会显示需要支付才可以阅读。同时,在pc端打开文章后,也提示需要在小程序支付后才可以阅读注意:目前微信限制在ios设备的虚拟支付,因此付费阅读目前只支持安卓支付。通过安卓支付后,可以在苹果设备打开文章。2.在线投稿微慕版小程序支持具有投稿权限的用户,通过小程序撰写文章和在线投稿。不必打开pc版的WordPress发表文章,直接可以通过手机来发布。微慕版支持通过小程序端提交内容和图片。后续版本将会考虑支持投递付费文章,作者在投稿时,可以设置付费阅读的金额。让作者和小程序管理者共同分享收益。3.动态圈子微信小程序是微信端一个重要的功能,那么互动交流成为一种必不可少的需要,如果缺乏互动,只简单地阅读,小程序的留存率就会不高。微慕版小程序支持WordPress的论坛插件bbpress,微慕小程序插件提供了对bbpress插件的api支持,让bbpress的论坛可以通过rest api支持小程序端,主要功能包括发表话题和回帖。4.积分系统为了增强小程序的互动性,鼓励用户为小程序提供内容。微慕版提供了一套积分系统,用户登录小程序、签到、发表文章、评论文章、发表话题、回复话题、点赞、赞赏、付费阅读后都可以获得相应的积分。微慕版插件后台可以自定义积分的奖励数目后续版本将会推出用户利用积分获得相应的权限和收益,比如利用积分阅读付费内容,积分兑换奖品,积分兑换现金提现等等。5.用户中心微慕版提供了一套完整的用户中心,汇集会员在小程序里所有个性化的内容。同时小程序的管理员也可以通过微慕插件后台来管理会员用户。6.订单管理赞赏、付费阅读等都会产生微信支付,为了方便小程序的管理员,查询和统计付费的情况,微慕版插件在WordPress在后台提供了订单管理。同时用户也可以在用户中心查看账单情况:7.自定义表单字段因为WordPress提供的的自定义字段功能有限,微慕版插件提供了自定表单字段的功能,管理员可以自定义字段,组成自定义的表单,主要的用途可以做成留言、预约等功能。同时,自定义的字段也支持WordPress的文章和页面。自定义表单列表:自定义表单的编辑:通过自定义表单字段实现的留言功能:8.完善的后端管理微慕版把小程序里的相关设置尽可能放到WordPress后端里,这样改动有关选项调整后,不必更改小程序的代码,不用重新提交审核,相关设置改变后实时生效。常规设置:显示选项:功能设置:消息模版设置:9.四套小程序前端模板在微慕版里提供4套,分别是标准版、企业版、图片版、旅游版,从不同的风格角度来展示微慕小程序的功能。整个微慕小程序产品包括:一个WordPress插件+4套小程序前端模板关于开源版开源版,我会一如既往的进行维护更新,会参考微慕版的代码进行重构和优化,继续为只需要基础功能的WordPress站长提供技术支持服务。谢谢你阅读这篇文章,谢谢你对我的支持。

April 2, 2019 · 1 min · jiezi

Wordpress更改端口后访问自动跳转老端口

刚开始首次安装wordpress程序时, nginx配置的是8081端口.在启动nginx和php服务后, 访问 http://www.example.com:8081/wp-admin 开始逐步安装, 然后顺利搭建好了博客网站.网站运行一段时间后, 需要将8081端口换成80端口, 这时将nginx配置里的8081端口改为80端口, 并重新加载nginx配置文件后, 访问网站却会自动跳转至8081端口(上次配置的老端口), 清除浏览器缓存和重启nginx, 依然无法解决这个问题.问题原因:首次安装wordpress时, 会将网站首页地址保存到wordpress数据库, 以后访问网站时以数据库里的首页地址为准, 单独改变nginx等web服务器映射的访问地址(ip, 域名, 端口的改动), 依然会自动跳转到数据库里存储的首页地址.解决方案:修改wordpress数据库, wp_options表, option_name字段 等于siteurl和home的2条记录将这2条记录的option_value值更新为你最新变更的地址, 例如:http://www.example.com 或 http://www.example.com:80更改成功后, 就可以正常通过80端口访问wordpress网站了MySQL操作语句:# wp_options表 查询记录select * from wp_options where option_name in (‘siteurl’,‘home’);# wp_options表 更新option_value的值update wp_options set option_value=‘http://www.example.com:80’ where option_name in (‘siteurl’,‘home’);

March 27, 2019 · 1 min · jiezi

Wordpress固定链接伪静态

wordpress页面的默认链接形式采用”朴素”方式 (例如: http://域名/?p=123)这样的动态URL链接不便于搜索引擎的收录, 为此, 我们需设置为其他几种常见的固定链接形式, 本网站 http://www.sufaith.com 选择的是 【 自定义结构 】.设置方式如下:进入wordpress后台系统首页, 点击菜单 【设置】- 【固定链接】选择【常用设置】 下的 【自定义结构】 , 可选择单个标签或多个标签组合, 可自定义拼接字符串, 本站点使用的是 /%post_id%.html, 填写完毕后, 点击 【保存更改】即可生效.保存更改后, 虽然文章或页面的链接变成了固定链接, 但是在访问页面时, 却变成了下载操作, 不能正常访问该URL地址, 这时需要配置nginx的伪静态(URL Rewrite)规则.以下为nginx的配置, 需修改为你自己的域名和root路径.server { listen 80; server_name www.example.com; root /usr/local/www/wordpress; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; } rewrite /wp-admin$ $scheme://$host$uri/ permanent; location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }}修改完配置后, 重启nginx即可生效, 恢复正常访问.systemctl restart nginx.service ...

March 27, 2019 · 1 min · jiezi

WordPress安装WPCOS插件同步文件至腾讯云COS设置教程

一般我们使用WordPress程序的时候,静态文件都会自动放在网站目录uploads中。有些网友图片文件比较多,而且服务器带宽不足,这样会发现网站打开和图片加载速度很慢。即便我们可以通过升级服务器配置的办法提高速度,但是同样也会增加预算成本。其实,我们完全可以将WordPress网站静态文件与内容数据库分离管理,静态文件单独存储在第三方,比如可以用到腾讯云COS。我们有在"WordPress上传图片静态文件同步腾讯云COS对象云存储插件"文章中有二次开发到一款WPCOS插件,可以设置将我们WordPress网站图片等静态资源仅上传到腾讯云COS对象存储中。或者我们也可以实现本地+COS双重存储起到备份的目的。在这篇文章中,我们将详细的分享这款插件是如何工作的。可能篇幅教程也比较啰嗦,但是应该是比较详细的,包括在腾讯云COS中的设置和API的获取对接部分,以及WPCOS插件的设置过程。第一、创建对象存储COS既然我们需要将WP网站文件存储到腾讯云COS中,我们必须先在腾讯云中创建COS存储桶。如果我们有用过COS,那这一步可以省掉。如果没有创建过,则需要一步步来,不着急。创建存储桶名称、存储地区(地区需要根据我们项目服务器对应地区最好),如果我们主站是国外服务器,那静态文件可以是用国内服务器(以后可以绑定自己域名,当然是需要BA的域名,或者就是分配的请求域名)。同时需要设置访问权限。第二、获取COS账户信息这里我们在创建完毕COS之后,不要着急去安装创建,我们需要先把需要的参数给获取到,最后安装插件的时候直接填写。根据我们自己创建的COS账户信息,然后获取 [空间名称]、[所属地域]、[访问域名],这几项后面WPCOS插件设置的时候都需要用到的。第三、获取密钥API账户地址:https://console.cloud.tencent.com/capi我们需要获取腾讯云账户API信息,如果没密钥需要 新建密钥。如果有设置过,需要将APPID、SecretId、SecretKey 三项对应的参数获取。后面设置插件的时候也是需要的。第四、WPCOS插件安装设置1、插件下载和安装GitHub:https://github.com/laobuluo/wpcos这里我们选择WPCOS插件其一下载然后解压命名"wpcos"目录。然后将插件目录上传至"wp-contentplugins"目录。再回到网站后台"已安装的插件",启动插件。2、WPCOS设置插件启动之后我们可以在WordPress后台左侧菜单看到"WPCOS设置",点击设置。根据我们创建COS的参数信息,以及API的三个信息填写到对应的WPCOS设置中。这里需要注意的,默认是本地和COS同步都存储静态文件的,这里我"勾选"表示是只在COS存储。同时COS远程地址是用的腾讯云提供的,我们也可以自定义域名,这个需要在COS中设置。第五、测试WPCOS运行这里我们正常的编辑WP网站内容,然后上传图片测试看看。我们可以看到网站媒体库中的图片是被上传到COS中,因为我设置的本地不备份同步,所以本地uploads文件夹中是没有的。同样的,我们再到COS中可以看到刚才上传的图片在COS中。到目前为止,对于腾讯云COS创建存储桶,以及结合WPCOS插件实现同步静态文件至COS中是可以实现的。不过对于COS的设置还可以更细致一些,比如防盗链、比如绑定自己的域名和启用CDN加速、白名单设置等。不过这个不在插件的研究范围之内,以后有时间分享COS的设置部分。本文来自老部落:https://www.laobuluo.com/2196…

March 20, 2019 · 1 min · jiezi

WordPress开发app(小程序)接口开发教程

引言废话不多说这套系列的教程就是银戒一隅教你怎么将自己现有的WP网站做成一个app或者小程序技术栈要求需要声明的是,在这套教程之中,因为精力有限的关系,我不负责任何前端页面的设计以及开发,只讲前端与WP交互的接口设计与开发。当然,我还是会尽可能的做出一个简单Demo用于展示与测试(为了通俗易懂这里使用 uni-app )。而至于什么是接口开发如果有人不明白的可以去百度一下,这里就不详细说明了。但简单且通俗易懂的来说,其实接口就是客户端(app)与服务端交互的一个桥梁,你可以理解成是app需要的功能和数据都是靠接口来实现和获取的。好了,下面说一下本套教程所需的技术栈。1.PHP(起码看得懂代码) 2.小程序前端开发与数据交互 3.WordPress二次开发(起码能看懂代码)4.混合app技术,通俗的来说就是市面上现在很火的什么vue开发app,ReactNative开发app、IONIC开发app……虽然我这里列举了这么多技术要求,但是千万别被吓到了,因为在这套系列的教程中,我会一步一步的讲清楚我敲下的所有代码,并且贴出所有源代码,而这些源代码也是你粘贴复制一下就可以用的。如果你事先就会混合app的开发,那么你只要看了这套教程就完全可以用WP开发一个属于自己的app和小程序了。你将学到什么1.WordPress深度二开2.WordPress主题制作基础3.PHP基础4.接口设计基础5.做一个属于你自己的app教程目录:教程目录

March 17, 2019 · 1 min · jiezi

送给大家一本免费的 WordPress 电子书

在两年前的 2017 年底,我在 GitChat 上上线了我自己的 WordPress 达人课,如今,已经过去了当初约定的销售时间,我决定将这个达人课开放给大家来看,让更多的人掌握 WordPress 的开发能力。为什么是我的书?免费:我知道,@老王经销商 刚刚出版了一本 WordPress 的书,不过我这本书是开放了源内容的,所以你可以无需花钱就能看到。内容丰富:我知道,网络上有很多教程,但是大多不如这本书的内容丰富,在这本书中,你可以看到你想看的几乎所有内容。内容持续更新:这个电子书的内容我后续还会继续更新。我自己仍然在使用 WordPress ,相关的一些实践也会分享到电子书里。很多写教程的人已经离开了 WordPress 生态。这本书讲什么下面是这本书的目录:本书介绍1 导读2 部署 WordPress3 WP 的环境配置WordPress 使用1 WP 基本使用2 WP 基本设置3 WP 常用插件使用说明(一)4 WP 常用插件使用说明(二)5 WP 相关资源站点6 WP 站点性能优化 (一):动静分离7 WP 站点性能优化 (二):服务器优化8 WP 站点性能优化 (三):WordPress 缓存9 WP 站点性能优化 (四):程序优化10 WP 安全固化WordPress 主题1 WP 主题使用2 WP 主题开发:快速入门3 WP 主题开发:文件结构4 WP 主题开发:一些特殊的页面5 WP 主题开发:接入 Options Framework6 WP 主题开发:一些 WordPress 开发的小技巧7 WP 主题开发:提交主题到 WordPress 官方仓库WordPress 插件1 WP 插件使用2 WP 插件的运行机制3 WP 插件的创建4 WP 插件后台设计与开发5 开发一个 WordPress Widget6 开发一个短代码插件7 提交你的插件到 WordPress 官方仓库多语言1 WP 主题开发:为你的主题/插件实现国际化2 使用 WPML 插件建设一个多语言站点3 使用 Polylang 插件建设一个多语言站点实战1 WordPress 数据库操作 WPDB 指南2 动手开发插件: Custom Author 插件开发实战3 轻松玩转 WP:如何使用 WordPress 的邮件发文功能答疑答疑 20171130答疑 20171201答疑 20171206答疑 20171216书的内容量这本电子书的内容总量达到了 19 万字,相信可以让你看的十分过瘾。书有下载版本么?电子书我已经构建了 PDF 版本和 ePub 的版本,你可以根据你自己的喜好,选择合适的版本下载,下载地址:https://github.com/bestony/Ea…书有在线阅读的版本么?当然,你可以访问下面的地址查看。http://easywpbook.com/书的源码在哪?你可以在 https://github.com/bestony/Ea… 找到源码,记得给个 Star 哦~书的授权是?这本书采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。你可以自由的进行分发,但是不能用于商业目的,也不能进行修改和重新编译。 ...

March 9, 2019 · 1 min · jiezi

PDF文件如何转成markdown格式

百度上根据pdf转makrdown为关键字进行搜索,结果大多数是反过来的转换,即markdown文本转PDF格式。但是PDF转markdown的解决方案很少。正好我工作上有这个需求,所以自己实现了一个解决方案。下图是一个用PDF XChange Editor打开的PDF文件,我想将其内容通过markdown格式导出。(1) 首先将该PDF导出成word格式,后缀.docx(2) 使用typora获得该word文档的markdown源代码:此时任务只完成了一半,因为typora这个工具转换成的markdown格式,如果原始的word文档里包含图片,这些图片以本地图片的形式存在于markdown里,那我如果直接将包含了这些本地图片的标签的markdown发布到简书,CSDN,开源中国,腾讯云,阿里云这些支持markdown的社区时,这些本地图片将无法显示。因此我们必须找到一个高效的方法,将word里包含的本地图片先上传到网络上,再用生成的包含了图片网络url的markdown标签替换本地图片标签。(3) 把word文件的后缀从.docx改成.zip, 解压后,在文件夹word的子文件夹media里能找到所有的本地文件。把这些本地文件全部上传到网站,生成下面这些url:我写了一个工具,可以把仅包含了本地图片标签的markdown源代码和包含了上述在线图片url标签的源代码做一个合并,后并后,本地图片标签会被在线图片标签取代:这个工具可以从我github上获得:https://github.com/i042416/Kn…下图就是我的原始PDF转换成markdown格式后发布在某社区上的效果,和原始PDF外观完全一致:要获取更多Jerry的原创文章,请关注公众号"汪子熙":

February 24, 2019 · 1 min · jiezi