wordpress的程序,wordpress下载

编辑整理:整理来源:360问答,浏览量:59,时间:2023-04-14 15:32:01

关于wordpress的程序的问题,我们总结了以下几点,给你解答:

wordpress下载


wordpress下载

http://www.downg.com/soft/12268.html

wordpress的程序


wordpress的程序

文%20|%20Jeff

几周前,我花了两天时间,将自己的%20WordPress%20网站做了个微信小程序版本。

这篇文章,记录的就是我自己在开发第一版小程序的过程。

知晓程序(微信号%20zxcx0101)今天分享的这篇文章,将一步步讲解,如何将一个%20WordPress%20网站借助%20REST%20API%20开发微信小程序版。

关注「知晓程序」公众号,在微信后台回复「开发」,获取小程序开发技巧精选文章。

小程序如何读取%20WordPress%20博客内容?

WordPress%20在%204.6%20版本推出了%20REST%20API。简单来说,它是一种通过%20HTTP%20请求完成的客户端与服务端数据交互方案。

我们访问平常的普通%20WordPress%20网站,在没有开启静态缓存的情况下,大致需要「从数据库拉取数据%20→%20服务端%20PHP%20进程拼成%20HTML%20→%20用户浏览器界面」的过程。

REST%20API%20的处理过程类似,但稍微不同的是:输出的是%20JSON%20格式的数据,且一般是给客户端(非网页浏览器)使用。

有了%20REST%20API,一个网站制作不同客户端(Android%20或%20iOS%20的%20app,以及微信小程序),而共享一个数据库成为了可能。

我们可通过浏览器,直接访问%20WordPress%20的其中一个接口地址:

your-site.com/wp-json/wp/v2/posts?per_page=5&page=1

,你可能会看到类似这样的返回。

现在,让我将上面的%20URL%20解释下。

/wp-json/wp/v2/

是WordPress%20定义的%20REST%20API%20路由(router)与版本号等的组合。

posts

在%20WordPress%20中,称为「终点」(endpoint)。

per_page

page

则是参数。

上面的%20URL,表示输出第%201%20页最新%205%20篇文章的数据(5%20篇为%201%20页)。

微信小程序通过%20REST%20API,可以获取到%20WordPress%20网站上的数据。对数据进行处理后,通过前端代码渲染,就是你在微信客户端上看到的界面。

WordPress%20的%20REST%20API%20已经很完善了,什么文章数据、页面数据、用户数据等都不在话下。

把%20WordPress%20作为小程序的后端,实在是省了不少人力,至少对我们这些前端狗来说,不用写苦逼的后端代码。

开始动手,做一个%20WP%20小程序

上一章节大致介绍了原理后,接下来就以本站开发的「DeveWork%20极客」小程序第一版为例,介绍三个页面(首页、内容页、阅读记录页)大体上是如何做出来的。

1.%20准备工作

准备工作就不细说,大体上包括如下操作。

在微信公众平台管理后台上注册小程序账号,配置合法域名等信息。

二是服务端确保配置好%20HTTPS(但不一定要求备案)。

另外在开始开发之前,我在服务端对%20WordPress%20REST%20API%20进行了一些定制化的输出。

2.%20项目结构

结合微信官方%20quick%20start%20的例子与个人需求,将项目结构如下分好:

.├──%20app.js├──%20app.json├──%20app.wxss%20├──%20config.js%20//%20配置文件├──%20image%20//%20图片目录├──%20pages%20//%20页面目录├──%20utils%20//%20实用%20untils%20类└──%20wxParse%20//%20第三方库wxParse

3.%20构建文章列表页面

小程序的首页,就是文章列表页面。启动小程序时,会展示最新的%205%20篇文章,然后通过下拉流式加载更多文章。

在这里,我们用到的%20WordPress%20REST%20API%20就是

your-site.com/wp-json/wp/v2/posts?per_page={num}&page={num}

index.js

文件的核心,是通过

wx.request

接口,访问上面的%20API%20URL%20获取到文章数据,再

setData

进行渲染。

//%20https://devework.com/wordpress-rest-api-weixin-weapp.htmlwx.request({%20%20%20%20url:%20url,%20%20%20%20success:%20function%20(response)%20{%20%20%20%20%20%20%20%20self.setData({%20%20%20%20%20%20%20%20%20%20%20%20posts:%20self.data.posts.concat(response.data.map(function%20(item)%20{%20%20%20%20%20%20%20%20%20%20%20%20%20...%20%20%20%20%20%20%20%20%20%20%20%20%20//%20数据过滤/格式化等%20%20%20%20%20%20%20%20%20%20%20%20%20...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20item;%20%20%20%20%20%20%20%20%20%20%20%20}))%20%20%20%20%20%20%20%20});%20%20%20%20}%20%20});}

我将这些代码封装在函数中,方便后续重复调用。

设置的数据通过

index.wxml

循环输出。因为要做滚动加载,所以采用了小程序的

scroll-view

组件。

上面的%20WXML%20代码中,绑定了两个事件函数:一是下拉事件

pullDownRefresh

,一个是点击跳转至文章页面的事件

redictSingle

//%20下拉刷新pullDownRefresh:%20function%20(event)%20{%20%20%20%20var%20self%20=%20this;%20%20%20%20self.setData({%20%20%20%20%20%20%20%20page:%20self.data.page%20+%201%20//页面+1%20%20%20%20});%20%20%20%20console.log('current%20page:'%20+%20self.data.page);%20%20%20%20this.fetchData({%20page:%20self.data.page%20});},%20//%20路由导航到文章内页redictSingle:%20function%20(event)%20{%20%20%20%20console.log('redictSingle');%20%20%20%20var%20id%20=%20event.currentTarget.id;%20//%20这里的id%20其实是WordPress%20中的文章id,需要传递到single%20页面%20%20%20%20var%20url%20=%20'../single/single?id='%20+%20id;%20%20%20%20wx.navigateTo({%20%20%20%20%20%20%20%20url:%20url%20%20%20%20})}

4.%20构建文章详情页

文章页使用到的%20API%20地址是

your-site.com/wp-json/wp/v2/posts/{id}

。类似地,通过

wx.request

接口访问%20URL,然后渲染数据到%20WXML%20页面上。

代码与上面的类似,就不再重复。但需要提醒的是,这里涉及到如何将富文本转为微信小程序可识别的%20WXML%20的问题。

因为获取的%20JSON%20数据中,文章正文部分是一段%20HTML%20代码。如果将%20HTML%20直接输出到小程序中,是会报错的。

我们需要将这段%20HTML%20代码转化为微信小程序%20WXML%20语言,下一章节我会介绍这个过程。

4.%20阅读记录页面

阅读记录页面是用来展示用户浏览历史,直接照着官方的%20Hello%20World%20例子就做起来了。

这个页面用到的主要如下两种接口:本地缓存相关接口、用户授权相关接口(

wx.login

wx.getUserInfo

等)。

从用户体验上考虑,不应该一开始就向用户申请授权,而是有需要的页面才申请。同时,也应该做好用户拒绝授权的优雅处理。

关注「知晓程序」微信公众号,在微信后台回复「用户信息」,查看小程序如何正确地获取用户资料。

记录的文章阅读历史数据是以本地缓存的形式保存在客户端,而非云端。所以,一句「阅读记录仅保存在本设备」的提示,是有必要的。

同时,基于小程序缓存限制的考虑,我将记录上限设为%2020%20篇。

//%20调用API从本地缓存中获取阅读记录并记录var%20logs%20=%20wx.getStorageSync('readLogs')%20||%20;//%20过滤重复值if%20(logs.length%20>%200)%20{%20%20%20%20logs%20=%20logs.filter(function%20(log)%20{%20%20%20%20%20%20%20%20return%20log[0]%20!==%20id;%20%20%20%20});}//%20如果超过指定数量if%20(logs.length%20>%2019)%20{%20%20%20%20logs.pop;//去除最后一个}%20logs.unshift([id,%20response.data.title.rendered]);wx.setStorageSync('readLogs',%20logs);

上面的代码,其实是放在

single.js

里面的。因为我需要将文章%20ID%20与标题保存,而只有

single.js

,才会同时获取这两种数据。

最后,我还需要在

log.js

onShow

生命周期函数中,绑定一个更新数据的函数:

updateData:%20function(cb){%20%20var%20tt%20=%20this;%20%20//%20readlog%20%20%20this.setData({%20%20%20%20readLogs:%20(wx.getStorageSync('readLogs')%20||%20).map(function%20(log)%20{%20%20%20%20%20%20return%20log;%20%20%20%20})%20%20})},

开发过程中,我踩的坑

这个章节主要记录在开发过程中的一些坑,以及我所采用的解决方案。

1.%20Tab%20Bar%20的图片问题

小程序官方宣称支持%20SVG%20图片,但%20tab%20bar%20并不支持%20SVG%20图片。

官方推荐采用%2081%20px%20×%2081%20px%20尺寸的%20PNG%20图片,但这个依然有点坑。

建议在设计%20icon%20的时候,为%20tab%20bar%20的图标稍微留点透明的%20padding,不然,图标在真机上会放得很大。

2.%20图片防盗链的%20referer%20设置

如果你托管图片的服务器有防盗链处理,那么得将

servicewect.com

放入白名单中。记得,这个白名单不是

qq.com

3.

image

组件的绝对路径,必须以%20HTTPS%20开头

image

组件的

src

绝对路径,在%20web%20开发中是允许类似

//example.com/pic.png

这种省略协议名的存在。

这种图片路径,在微信 web 开发者工具也能正常显示。但是,在真机上就不能正常加载了。在真机上必须是 HTTPS 开头的绝对路径。

服务端数据侧不好处理的话,可以通过下面的函数处理:

// 补全URL 中缺失的 HTTPSfunction addhttps(url) { if (!/^(f|ht)tps?:\/\//i.test(url)) { url = "https:" + url; } return url;}

4. 开发者工具的小程序 UA 与实际 UA 不同

开发工具中模拟的小程序 UA 类似这样:

... Chrome/53.0.2785.143 Safari/537.36 appservice webview/100000

而通过 Nginx 的 log,我们可以知道,真机运行的 UA 其实就是微信的 UA:

... Mobile/14E304 MicroMessenger/6.6.0 NetType/WIFI Language/zh_CN

某些情况下需要注意这些不同。

5. 默认的 Flex 布局

如果你是在官方例子的代码基础上开发你的小程序的,建议先删掉

app.wxss

的 Flex 布局相关代码。这样做,会降低你遇到奇葩样式问题的概率。

6. wxParse 的坑

小程序使用到的富文本转化是用 wxParse 这个第三方库,用的时候发现有不少坑(但目前是这个库最为实用了)。

其中一个,就是全局的 code 字符都被替换为

wx-codexxx

,作者本意应该是对 code 标签进行这个替换,但可能一不小心写错了。

解决方案,只能是暂时删掉那段代码。

另外,使用 wxParse 的时候,

image

组件中的

src

属性,会多解析出一个逗号。

看图说话:

上图也很好解释了上面的 referer 坑与图片路径 HTTPS 开头的坑。解决方案,只能先改动源码(

html2json.js

)来修复:

// Fix: img 标签数组含有空字符的问题if (imgUrl[0] == ''){ imgUrl.splice(0, 1);}

关于富文本,好消息是,官方的富文本组件已经发布。

关注「知晓程序」微信公众号,在微信后台回复「富文本」,查看小程序富文本组件新能力解读。

最后的话

至此,我也算是详略得当地,介绍了开发 WordPress 版小程序的过程。接下来的工作,自然是提交到官方并耐心等待审核结果的通知。

整个开发过程其实并不太有难度,如果之前有使用过 Angular、Vue 这类 MVVM 框架,整个开发过程基本上只是看官方文档的问题。

「DeveWork 极客」小程序使用链接

https://minapp.com/miniapp/3016/

原文地址:https://devework.com/wordpress-rest-api-weixin-weapp.html

以下为网友评论:

网友“小103224036”:官方的富文本也不好用

网友“FG云视频”:你以为说这么详细我就懂了吗,太天真了[来看我][来看我]

网友“偶偶30498586”:太高大上了 看不懂

网友“詹姆士张”:小程序能推送吗?

网友“一抹天真丢失在了曾经”:[爱慕]

wordpress的程序安装在什么文件夹下


wordpress的程序安装在什么文件夹下

1.数据库部署
为Wordpress程序创建用户名为360readuser,密码为360readpsd的数据库。
登陆数据库:mysql -uroot -p
创建数据库:CREATE DATABASE 360read;
创建数据库用户:CREATE USER 360readuser@localhost IDENT绍水室伯府IFIED BY ‘360readpsd';
给用户所有权限:GRANT ALL PRIVILEGES ON 360read.* TO 360readuser@localhost;
刷新生效: FLUSH PRIVILEGES;
退出老们举衣冲屋:exit
重启服务:syst以等称空台什emctl restart mariadb.service
systemctl restart httpd.service
2.安装WordPress
1>建哥立一个临时文件夹,下载最新版本的Wordpress3.92,中英文都可以。
mkdir /tmp/wp
cd /tmp/wp
wget http://***.org/latest.zip
解压缩到网站根目录: unzip -q latest.zip -d /var/www/html/
2>更改wordpree文件夹属主:ch件叫次良抗饭义庆围具鲜own -R apache:apache /var/www/html/wordpress
更改wordpress文件夹权限:chmod -R 755 /var/www/html/wordpress
创建一个可以上传的目录upload,并将属主改为apache:
mkdir -协围体下p /var/www务/html/wo技过更神黑往告山希rdpress/wp-content/uploads
chown -R :apache /var/www/html/wordpress/wp供如-content/uploads
3>修改配置文件,以便磁诗源断航可以访问数据库
cd /var/www/html/wordpress/
cp wp-config哥益九操电亮益排-sample.php wp-config.php
vim wp-config.php 修改红色字体部分:
/** The name of the database for WordPress */
define(‘信业走DB_NAME’, ‘360read‘);
/** 须别原目象掉MySQL database username */
define(‘DB_USER’, ‘360readuser‘);
/** MySQL database password */
define(‘DB_PASSWORD’, ‘360readpsd‘); 修改完成后 :wq !
4>浏览器输入http://192.168.1.108/wordpress/wp-admin/install.php 后就可以进行最后的登陆安装,输入站点名称,登陆户名志总议格居为刻看间心声,密码,邮箱就可以完成Wordpress安装!
如果出现如下错误:Y顾our PHP installation appears to be m传派值事issing the MySQL extension which is require
可能是PHP-mysql模块丢失造成的,重新yum install php-mysql ,并且重启mariadb和httpd服务就可以了。
5>开启支持网站固定链接修改和重定向功能。
编辑主配置文件:vi /etc/httpd/conf/httpd.conf
…AllowOverride None 修改为AllowOverride All…
然后重启服务:systemctl restart httpd.service
创建.htaccess文件:touch /var/www/html/wordpress/.htaccess
编辑:vim /var/www/html/wordpress/.htaccess,加入以下内容,也可以让网站自动生成。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
修改.htaccess文件权限:chmod 664 /var/www/html/wordpress/.htaccess,修改为664可以让网站支持自动更新,也可以修改为644。

行业热门话题:

【wordpress的程序安装在什么文件夹下】【wordpress下载】【wordpressapp】【wordpress程序下载】【wordpress使用教程】【wordpresscom】【wordpress site】【wordpress建站程序】【wordpress使用方法】【wordpress the7】
wordpress的程序,wordpress下载完!

相关推荐:


关键词文章生成器,点击查看演示目录:http://www.wskqs.cn/shisange/


超声波采集数据和分析数据 超声波采集数据和分析数据的区别| 俊雅 俊雅日本人| 南沙区医药软文营销推广平台-医药软文营销推广平台哪个好| 盾神电视剧| 游戏玩家软文营销 东阳吴宁街道游戏营销的玩法| 桐乡高桥镇软文营销丿皆到发稿吧| 软文营销心得| 东阳市seo| 软文营销应注意什么意思-什么叫软文营销?| 360竞价代运营哪个好呢|
投稿| 1024(定向养站+文章采集+ai聚合)目录程序| 1888(定向养站+文章采集+ai聚合)泛目录版| 双标题| 挖关键词| 违禁词删除| 免费配图| 自助解答| 站长变现| 今日头条| 问答聚合| 818(今日头条资讯聚合演示)| 1024(采集聚合+ai聚合)| 1024 (AI定向养站目录程序)| 淘客文章带货| 伪原创| 定向养站目录程序| ai写作目录程序

苏ICP备2021004623号 (免责声明:本网站部分内容由用户自行上传,如权利人发现存在侵犯其权益情形,请及时与本站联系。)(版权所有:昆山市一路火信息技术服务中心) 友情导航 网络警察提醒您 中国互联网辟谣平台 中国文明网传播文明 中国互联网举报中心