WordPress教程

模板兔提供wordpress建站教程、wordpress主题开发教程、wordpress插件开发教程、wordpress二次开发教程等。

最近模板兔(mobantu.com)在给某个客户二次开发一款主题时需要自定义导航菜单的输出,来控制子菜单的显示隐藏。 有些地方,使用以下代码: if ( $args->has_children ) {} 有些地方,使用以下代码 if ( $args->walker->has_children ) {} 以上两种可以分别尝试,看哪种会生效

最近,模板兔(mobantu.com)给用户开发了一个游客相册预览几张图片的功能,意思就是未登录的用户可以浏览几张图片,其他图片显示为毛玻璃状态,登录后可正常浏览相册的全部图片。 涉及到给相册添加自定义字段的代码如下,加到主题的functions.php里: add_action('print_media_templates', function(){ ?> <script type="text/html" id="tmpl-my-custom-gallery-setting"> <span class="setting"> <label for="gallery-settings-preview" class="name">游客预览数</label> <input type="text" id="gallery-settings-preview" name="preview" data-setting="preview" style="float: left;width: 100px...

最近模板兔给某个用户定制了一个这样的功能:使用erphpdown做付费下载,下载地址用百度网盘的,用户购买前需先检测百度网盘链接状态,看是否失效,不失效就提示可购买,失效了就提示用户不要购买~ 功能做好后,后台需要有个标记的数据,统计失效的资源文章,方便管理员处理,那么就需要自定义筛选。 此功能属于收费功能,如你们有类似需求,可找模-板-兔开发~

最近模板兔给客户定制了一款wordpress任务威客类的插件,用户可发布任务以及投标。其中涉及到自定义文章类型、自定义分类法,在后台需要对任务进行类别筛选,可用以下代码: add_action( 'restrict_manage_posts', 'erphp_task_filter_by_taxonomies' , 10, 2); function erphp_task_filter_by_taxonomies( $post_type, $which ) { if ( 'task' !== $post_type ) return; $taxonomies = array( 'tasks' );//这里可以加多个自定义分类法 foreach ( $taxonomies as $taxonomy_slug ) { $taxonomy_obj = get_taxonomy( $taxonomy_slug ); $taxonomy_name = $taxonomy_obj->labels->name; $terms = get_terms( $taxonomy_slug ); ...

Author Parameters #Author Parameters Show posts associated with certain author. author (int) – use author id. author_name (string) – use ‘user_nicename‘ – NOT name. author__in (array) – use author id (available since version 3.7). author__not_in (array) – use author id (available since version 3.7). Show Posts for one Author Display posts by author, using author id: 1 $query = new WP_Query( array( 'author' => 123 ) ); Display posts by author, using author ‘user_nicename‘: 1 $query = new WP_Query( array( 'author_name'...

有时候我们会遇到外链图片没法自动用timthumb.php来剪切,除了文件夹权限外,还有可能的一个原因是需要手动添加下授权域名。 打开主题里的timthumb.php,找到以下代码: if(! isset($ALLOWED_SITES)){ $ALLOWED_SITES = array ( 'flickr.com', 'staticflickr.com', 'picasa.com', 'img.youtube.com', 'upload.wikimedia.org', 'photobucket.com', 'mobantu.com', 'imgur.com', 'imageshack.us', 'tinypic.com', 'deviantart.net', 'image.mobantu.com' //这里添加外链图片的域名 ); } 完事~

今天模板兔在给某个客户开发一项功能的时候,遇到一个问题就是前台投稿页面如果插入自定义分类法呢,虽然wp_insert_post的传值参数里有一个tax_input用于插入自定义分类法的,但是好像并不好使。经过一番搜索,终于找到了解决方法: 在执行完wp_insert_post之后会返回一个$post_id,我们可以用下面这个函数插入自定义分类法的值 wp_set_object_terms( $post_id, 'mobantu', 'domain' );//domain是自定义分类法,mobantu是slug值

最近的几个wp版本后台的文章发布界面已经默认使用了新版编辑器,这个编辑器我个人不太喜欢也用不习惯,我推荐不管是新手还是老手尽量使用经典编辑器,兼容性更好。 后台的插件 - 安装插件: 安装启用这个经典编辑器即可,发布文章页面的界面就会变成以往的经典界面,不管设置什么都很直观。

1、将从模板兔购买的主题下载包解压,上传里面的主题文件monster8.zip(后台的外观-主题,点击添加,然后上传主题)。oauth文件夹放至网站根目录(与wp-content、wp-admin同级),即类似 www.t.com/oauth/ 路径存在,用于社交登录。 2、启用主题后,可以设置下菜单(外观 - 菜单)、小工具(外观 - 小工具),其中底部小工具例子请看专属群里群文件。请自己务必好好测试下【主题设置】里的每个选项,因为很多功能样式都是通过主题设置来完成了哦! 3、若需要将首页设置成与演示站一样,可以看下面:(我建议大家使用经典编辑器,如何切换为经典编辑器) 新建页面,选择【CMS首页模板】模板,内容框里输入短代码 [mocat num="8...

这里主要写下发短信的核心代码,仅供参考,至于手机号注册的逻辑代码,请自己写或者联系模板兔开发。 首先你需要有Access Key ID、Access Key Secret、签名、模板ID。 阿里云验证码、短信通知类: <?php /** * 阿里云短信验证码、短信通知发送类 * @author Administrator * */ class Sms { // 保存错误信息 public $error; // Access Key ID private $accessKeyId = ''; // Access Access Key Secret private $accessKeySecret = ''; // 签名 private $signName = ''; // 模版ID private $templateCode = ''; public function __construct($cofig = array()) { /* * 通过参数传递 * $cofig = array ( 'accessK...

最近模板兔给一个用户开发了一个基于阿里云视频点播VOD的收费视频点播的功能,大概需求就是在erphpdown的基础上开发一个可以试看视频、视频加广告、VIP免费看视频、视频单独购买、隐藏视频地址不让用户下载。 大致功能点: 单独购买视频与VIP免费看视频 视频试看,试看后弹窗购买或升级VIP信息 看视频前可设置几秒广告(图片广告或视频广告),用户暂停观看后也可显示广告 隐藏真实视频地址(需转码),防止盗链与下载(阿里云视频点播本身也有CDN加速与防盗链功能,就算暴露真实视频地址,用户也没法下载与引用) 目前我们已经制作成了erphpdown的addon扩展插件,有类似需求的朋友可以联系我们哦~

最近有用户向模板兔反馈了一个问题:网站开启ssl https后,用主题自带的前端登录后,进后台会直接退出登录需要重新登录,但是直接在wp-login.php页面登录后不就不需要再跳转了。 模板兔仔细研究了之后发现问题出在处理自定义登录的逻辑里的wp_signon这个函数: wp_signon( $credentials, $secure_cookie ) 里面的$secure_cookie这个是设置是否是安全的cookie,那么当网站使用https时就应该需要对应true,所以我们可以这样: wp_signon( array(), is_ssl());//array是用户信息,可为空数组,这个得看你上下怎么写的代码哦 这样就解决了此问题。

WordPress 自定义分类、标签、页面的URL伪静态格式,加.html后缀: function custom_page_rules() { global $wp_rewrite; /** page页面自定义URL样式 **/ $wp_rewrite->page_structure = $wp_rewrite->root . ‘page/%pagename%.html’; /** tag页面自定义URL样式 **/ $wp_rewrite->extra_permastructs[‘post_tag’][‘with_front’] = ”; $wp_rewrite->extra_permastructs[‘post_tag’][‘struct’] = $wp_rewrite->extra_permastructs[‘post_tag’][‘with_front’] . ‘tag/%post_tag%.html’; /** category页面自定义URL样式 **/ $wp_rewrite->extra_permastructs[‘category’][‘with_front’] = ‘category’;...

首先确保你认证的服务号、商户号且二者已绑定,然后申请的接口是PC扫码支付(Native支付)。如需要手机唤醒微信APP,还需要申请h5支付、jsapi支付。 设置商户号支付密钥方法如下: 1.申请通过审核后,打开微信发来的邮件。 直接获取微信支付商户号(接口文档中的商户号MCHID);(也叫 受理商ID 填写到后台)。 商户支付密钥key 按以下步骤自己设置生成。 2.点击访问 新商户平台http://mch.weixin.qq.com 或https://pay.weixin.qq.com,用账号和密码登录。 3.这里有个小坑,就是开发平台和微信商户平台的对应关系是,每个APP都会有为之对应的唯一的商户号,用户需要通过APP注册时微信返回的邮件确认登录那个商户设置API_key,切...

WordPress 对象缓存简介和服务器设置 WordPress Object Cache(WordPress 对象缓存)是 WordPress 的默认缓存机制,它的主要功能是把负责查询或者运算的结果按照 Key-Value 这样的方式(WordPress 还支持按照 Group 来划分和避免缓存的内容冲突)存储到对象里面,下次进行同样操作的时候,可以让直接从这个对象中取出数据,不用重复到数据库中或者其他外部网站获取数据。 WordPress Object Cache 和服务器设置关系很大,如果系统支持内存缓存,则这个对象是直接存入内存,以后在未过期之前都是直接从内存中读取的,这样效率和速度都非常快的。如果服务器不支持内存缓存的话,则只能保证在当前页面下同样的查询或者操作不再重复从数据库中...