WordPress教程
模板兔提供专业的wordpress建站教程、wordpress主题开发教程、wordpress插件开发教程、wordpress二次开发教程等。
WordPress教程:我们在开发wordpress主题的过程中一般会对分类进行一些其他字段的设置来完成一些可控性的功能,需要给分类设置自定义字段。
比如我们希望某个分类下的文章的SEO标题不显示站名,这个是什么意思呢?一般来说,文章的标题组成为Post title - Sitename,我们需要某些分类的文章的标题只有Post title,可以用模-板-兔写的以下方法来实现。
首先我们给分类添加一个字段来控制是否启用上面说的那个功能。
add_action('category_add_form_fields','erphp_ct_add_category_field',20,2);
function erphp_ct_add_category_field(){
echo '<div class="form-field">
<label for="erphp_cat_title">标题去站名</label>
&l...
WordPress教程:WordPress做独立页面视频播放页面,需要使用到地址伪静态(mobantu.com/play/tset.html),主题的functions.php里面加
function MBT_rewrite_rule() {
global $wpdb;
$page_id = MBT_get_page_id_from_template('page-play.php');
$slug = get_post($page_id)->post_name;
add_rewrite_rule($slug.'/([^/]+).html$', 'index.php?page_id='.$page_id.'&v=$matches[1]','top');
}
add_action('init', 'MBT_rewrite_rule', 10, 0);
add_filter('query_vars', 'MBT_query_vars', 10, 1 );
function MBT_query_vars($public_query_vars) {
$public_query_vars[] = 'v';
return $public_query_vars;
}
独立播放页面通过$wp_qu...
WordPress教程:setup_postdate函数可以设置全局$post变量,使得自定义查询文章语句后也可以使用the_permalink()、the_title()等来直接获取文章信息,具体使用方法如下:
<?php
global $wpdb, $post; //注意这里要申明$post
$str = "SELECT $wpdb->posts.* FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish'";
$result = $wpdb->get_results( $str );
if ( $result ) {
foreach ( $result as $post ): //如果这里获取的是$post_id,可以$post = get_post($post_id);
setup_postdata( $post );
?>
<li><a href="<?php the_permalink()?>"><?php the_title();?></a></li&...
WordPress教程:最近有用户找我们模板兔(mobantu.com)开发了一个这样的功能:让erphpdown里的支付宝当面付使用独立域名(与网站域名不同,这样的用处就是网站不与支付宝做任何通信,而是通过另外一个域名作为通信媒介)。
为什么需要这样的功能?我考虑了一下,可能是由于网站域名的某些原因,站长不希望支付宝知道使用接口的真实网站域名。
那么,要实现这个功能,需要弄一个独立站B(当然你可以是子目录、二级域名什么的都行)专门当作支付宝与主网站A的通信桥梁,用户通过网站A在线充值时会跳到网站B(不同于网站A的域名),在网站B页面实现扫码支付,然后支付宝处理回调通知到网站B,网站B再通知主站A,这样就完成了整个充值过程。
有类似需求的...
WordPress教程:最近模板兔(mobantu.com)在给某个客户二次开发一款主题时需要自定义导航菜单的输出,来控制子菜单的显示隐藏。
有些地方,使用以下代码:
if ( $args->has_children ) {}
有些地方,使用以下代码
if ( $args->walker->has_children ) {}
以上两种可以分别尝试,看哪种会生效
WordPress教程:最近,模板兔(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...
WordPress教程:最近模板兔给客户定制了一款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 );
...
WordPress教程:
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'...
WordPress教程:有时候我们会遇到外链图片没法自动用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' //这里添加外链图片的域名
);
}
完事~
WordPress教程:今天模板兔在给某个客户开发一项功能的时候,遇到一个问题就是前台投稿页面如果插入自定义分类法呢,虽然wp_insert_post的传值参数里有一个tax_input用于插入自定义分类法的,但是好像并不好使。经过一番搜索,终于找到了解决方法:
在执行完wp_insert_post之后会返回一个$post_id,我们可以用下面这个函数插入自定义分类法的值
wp_set_object_terms( $post_id, 'mobantu', 'domain' );//domain是自定义分类法,mobantu是slug值
WordPress教程:最近的几个wp版本后台的文章发布界面已经默认使用了新版编辑器,这个编辑器我个人不太喜欢也用不习惯,我推荐不管是新手还是老手尽量使用经典编辑器,兼容性更好。
后台的插件 - 安装插件:
安装启用这个经典编辑器即可,发布文章页面的界面就会变成以往的经典界面,不管设置什么都很直观。
WordPress教程:1、将从模板兔购买的主题下载包解压(下载页面有解压密码),上传里面的主题文件monster8.zip(后台的外观-主题,点击添加,然后上传主题)。oauth文件夹放至网站根目录(与wp-content、wp-admin同级,即类似 www.t.com/oauth/ 路径存在),用于社交登录,不用QQ微博登录功能可不上传这个文件夹。
2、wp教程以及主题视频教程
WordPress安装教程链接:https://pan.baidu.com/s/1dTwId2-Mf9V6NsktpBttMg 提取码:47gn
WordPress后台基本入门教程链接:https://pan.baidu.com/s/1dduPAohjUVsfTTZ12G4g7A 提取码:386y
Monster8主题设置教程链接:https://pan.baidu.com/s/1_6rV_M0v1dUroHNY9J5R4w 提取码:96b5
3、建议大家使用经典编辑...
WordPress教程:这里主要写下发短信的核心代码,仅供参考,至于手机号注册的逻辑代码,请自己写或者联系模板兔开发。
首先你需要有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...
WordPress教程:最近模板兔给一个用户开发了一个基于阿里云视频点播VOD的收费视频点播的功能,大概需求就是在erphpdown的基础上开发一个可以试看视频、视频加广告、VIP免费看视频、视频单独购买、隐藏视频地址不让用户下载。
大致功能点:
单独购买视频与VIP免费看视频
视频试看,试看后弹窗购买或升级VIP信息
看视频前可设置几秒广告(图片广告或视频广告),用户暂停观看后也可显示广告
隐藏真实视频地址(需转码),防止盗链与下载(阿里云视频点播本身也有CDN加速与防盗链功能,就算暴露真实视频地址,用户也没法下载与引用)
目前我们已经制作成了erphpdown的addon扩展插件https://www.mobantu.com/9574.html,有类似需求的朋友可以...
WordPress教程:最近有用户向模板兔反馈了一个问题:网站开启ssl https后,用主题自带的前端登录后,进后台会直接退出登录需要重新登录,但是直接在wp-login.php页面登录后不就不需要再跳转了。
模板兔仔细研究了之后发现问题出在处理自定义登录的逻辑里的wp_signon这个函数:
wp_signon( $credentials, $secure_cookie ) 里面的$secure_cookie这个是设置是否是安全的cookie,那么当网站使用https时就应该需要对应true,所以我们可以这样:
wp_signon( array(), is_ssl());//array是用户信息,可为空数组,这个得看你上下怎么写的代码哦
这样就解决了此问题。