WordPress教程

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

WordPress教程:当我们开发一款wordpress模板的时候,常常需要自定义一些主题设置来控制wp主题的功能,除了添加一些封装好的框架外,我们还可以利用wordpress本身的自定义功能来实现,下面模板兔给出一个示例教大家如何使用wp的自定义设置: add_action( 'customize_register', 'modown_customize_register' ); function modown_customize_register( $wp_customize ) { $wp_customize->add_section('modown_setting',array( 'title' => 'Modown附加设置', 'priority' => 101 ) ); $wp_customize->add_setting( 'modown_setting_presale_tips', array( 'default' => '', ) ); $wp_customize->add_setting( 'modown_setting_pr...

WordPress教程:有时候,我们在前端写上传文件的功能时,不想弹出wordpress默认的媒体库窗口,而是直接通过自写的PHP代码实现上传,这种情况自定义上传的文件目录是很好实现的,但是这些上传的文件无法在后台的媒体库里找到,不容易管理删除。 那么如何实现在网站前台不弹出默认的媒体库窗口又能直接上传到媒体库呢?而且也支持一些CDN插件比如七牛云存储、阿里云OSS,下面模板兔教大家使用下面的代码来实现上传逻辑: <?php // WordPress environment require( dirname(__FILE__) . '/../../../wp-load.php' ); $wordpress_upload_dir = wp_upload_dir(); // $wordpress_upload_dir['path'] is the full server path to wp-content/uploads/2020/...

WordPress教程:WordPress建站中,少不了要用到各种插件来丰富网站功能,下面模板兔来介绍下一些常用的插件,好的插件可以帮你更好的建设网站。 以下插件若没有提供下载链接,则均可在wordpress官方库里搜索下载。 Classic editor(经典编辑器):官方编辑器插件,如果你不习惯使用wordpress默认的后台编辑器,不防试试经典编辑器 No category base wpml:去掉网站分类目录路径里的category Wp term order:对分类法(分类目录、标签、自定义分类法)进行排序显示 Custom post type permalinks:自定义文章类型的固定链接设置(伪静态) Loggedin:限制用户同一账号同时登录的IP数 Wp user avatar:自定义用户头像 Wp clean up:清...

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/xxxxx.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_q...

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/ 路径存在,用于社交登录。 2、启用主题后,可以设置下菜单(外观 - 菜单)、小工具(外观 - 小工具),其中底部小工具例子请看专属群里群文件。请自己务必好好测试下【主题设置】里的每个选项,因为很多功能样式都是通过主题设置来完成了哦! 3、若需要将首页设置成与演示站一样,可以看下面:(我建议大家使用经典编辑器,如何切换为经典编辑器) 新建页面,选择【CMS首页模板】模板,内容框里输入短代码 [mocat num="8...