标签 主题开发 下的文章

以下来自 https://eqblog.com/wordpress-front-desk-template-common-function-set.html

制作模板常用~

一、header常用的函数

<?php bloginfo(‘name’); ?> : 博客名称(Title) [输出示例:前端开拓者]

<?php bloginfo(‘stylesheet_url’); ?> : CSS文件路径 [输出示例:https://dn-eqblog.qbox.me/wp-content/themes/frontopen2/style.css]

<?php bloginfo(‘pingback_url’); ?> : PingBack Url [输出示例:https://eqblog.com/xmlrpc.php]

<?php echo get_stylesheet_directory_uri() ?>: 模板文件路径 [输出示例:https://eqblog.com/wp-content/themes/frontopen2/]

<?php bloginfo(‘version’); ?> : WordPress版本 [输出示例:WordPress 3.5.2]

<?php bloginfo(‘atom_url’); ?> : Atom Url [输出示例:https://eqblog.com/feed/atom]

<?php bloginfo(‘rss2_url’); ?> : RSS 2.o Url [输出示例:https://eqblog.com/feed]

<?php bloginfo(‘url’); ?> : 博客 Url [输出示例:https://eqblog.com/]

<?php bloginfo(‘html_type’); ?> : 博客网页Html类型 [输出示例:text/html]

<?php bloginfo(‘charset’); ?> : 博客网页编码 [输出示例:UTF-8]

<?php bloginfo(‘description’); ?> : 博客描述 [输出示例:一个专注于前端开发与jQuery程序拓展的分享平台,面向于web构架前端开发、jQuery程序开发、移动终端程序开发等各领域的交流平台。分享前端开发中的经验心得,分享开发源代码。]

<?php wp_title(); ?> : 特定内容页(Post/Page)的标题
注:上述函数,主要用于页面中的<head></head>部分的内容,当然有必要的话,也可以用在其他部分,请务必仔细阅读,了解对应标签会输出什么内容。

二、用于判断的tag函数

is_home() : 函数所在的页面是否为主页

is_single() : 是否为内容页(Post)

is_page() : 是否为内容页(Page)

is_category() : 是否为Category/Archive页

is_tag() : 是否为Tag存档页

is_date() : 是否为指定日期存档页

is_year() : 是否为指定年份存档页

is_month() : 是否为指定月份存档页

is_day() : 是否为指定日存档页

is_time() : 是否为指定时间存档页

is_archive() : 是否为存档页

is_search() : 是否为搜索结果页

is_404() : 是否为 “HTTP 404: Not Found” 错误页

is_paged() : 主页/Category/Archive页是否以多页显示

is_user_logged_in():判断用户是否已登录
注:判断函数一般都用于if..else语句中,所以大家在使用前,请先了解if判断语句的用法。不会太难,过一段时间本博会专门介绍PHP中的if语句如何使用。

三、模板内容部分的常用函数

<?php get_header(); ?> : 调用Header模板

<?php get_sidebar(); ?> : 调用Sidebar模板

<?php get_footer(); ?> : 调用Footer模板

<?php the_content(); ?> : 显示内容(Post/Page)

<?php if(have_posts()) ” ?> : 检查是否存在Post/Page,即是否有内容

<?php while(have_posts()) ” the_post(); ?> : 如果存在Post/Page则予以显示

<?php endwhile; ?> : While 结束

<?php endif; ?> : If 结束标记,与if起始标签对应,一定要成对存在

<?php the_time(‘字符串’) ?> : 显示时间,时间格式由“字符串”参数决定,具体参考PHP手册

<?php comments_popup_link(); ?> : 正文中的留言链接。如果使用 comments_popup_script() ,则留言会在新窗口中打开,反之,则在当前窗口打开

<?php the_title(); ?> : 内容页(Post/Page)标题

<?php the_permalink() ?> : 内容页(Post/Page) Url

<?php the_category(‘, ‘) ?> : 特定内容页(Post/Page)所属Category

<?php the_author(); ?> : 作者

<?php the_ID(); ?> : 特定内容页(Post/Page) ID

<?php edit_post_link(); ?> : 如果用户已登录并具有权限,显示编辑链接

<?php get_links_list(); ?> : 显示Blogroll中的链接

<?php comments_template(); ?> : 调用留言/回复模板

<?php wp_list_pages(); ?> : 显示Page列表

<?php wp_list_categories(); ?> : 显示Categories列表

<?php next_post_link(‘ %link ‘); ?> : 下一篇文章链接

<?php previous_post_link(‘%link’); ?> : 上一篇文章链接

<?php get_calendar(); ?> : 日历

<?php wp_get_archives() ?> : 显示内容存档

<?php posts_nav_link(); ?> : 导航,显示上一篇/下一篇文章链接

<?php include(TEMPLATEPATH . ‘/文件名’); ?> : 嵌入其他文件,可为定制的模板或其他类型文件
注:以上某些函数功能在对应的页面中使用,注意程序逻辑请不要胡乱添加,可能会产生错误。

四、其他常用函数

<?php the_permalink() ?>">:获取链接

<?php _e(‘Message’); ?> : 输出信息,可用于输出自定义生成的变量信息。

<?php wp_register(); ?> : 显示博客注册链接

<?php wp_loginout(); ?> : 显示登录/注销链接

<!–next page-> : 将当前内容分页

<!–more–> : 将当前内容截断,以不在主页/目录页显示全部内容

<?php timer_stop(1); ?> : 网页加载时间(秒)

<?php echo get_num_queries(); ?>: 网页加载查询量
注:以上函数并不是绝对需要应用,属于增加用户体验的拔高内容。

通过上面的函数,大家基本可以控制整个WP博客所需要的内容调用了。只要有一定的div+css基础,完全可以自己开发个性的WP模板了。


最近一次wordpress主题开发中需要对现有用户角色功能的补充,顺带记录笔记。

注册用户角色

add_role('site_developer', '客户', array(
    'read' => true,  //文章阅读权限
    'moderate_comments' => true, //编辑、删除、修改评论权限
    'edit_posts' => false //编辑文章权限
));

角色API参考http://codex.wordpress.org/Roles_and_Capabilities
更多权限参考列表如下:

read 阅读文章
moderate_comments 管理评论
delete_posts 删除文章
edit_posts 编辑文章
delete_published_posts 删除已发布文章
publish_posts 发布文章
upload_files 上传文件
edit_published_posts 编辑已发布文章
read_private_pages 阅读私有页面
edit_private_pages 编辑私有页面
delete_private_pages 删除私有页面
read_private_posts 阅读私有文章
edit_private_posts 编辑私有文章
delete_private_posts 删除私有文章
delete_users 删除用户
edit_users 编辑用户
edit_themes 编辑主题
edit_plugins 编辑插件

添加/增加用户字段

 /*
 * 自定义用户个人资料信息
 */
add_filter( 'user_contactmethods', 'func_add_contact_fields' );
function func_add_contact_fields( $contactmethods ) {
    $contactmethods['qq'] = 'QQ';
    $contactmethods['qm_mailme'] = 'QQ邮箱“邮我”';
    $contactmethods['qq_weibo'] = '腾讯微博';
    $contactmethods['sina_weibo'] = '新浪微博';
    $contactmethods['twitter'] = 'Twitter';
    $contactmethods['google_plus'] = 'Google+';
    $contactmethods['donate'] = '赞助链接';
    unset( $contactmethods['yim'] );
    unset( $contactmethods['aim'] );
    unset( $contactmethods['jabber'] );
    return $contactmethods;
}

开发

zh-cn:插件 API « WordPress Codex
zh-cn:主题开发 « WordPress Codex
zh-cn:子主题 « WordPress Codex
Template Hierarchy | Theme Developer Handbook | WordPress Developer Resources
Theme Check — WordPress Plugins
Options Framework — WordPress Plugins
zh-cn:开发一个插件 « WordPress Codex
zh-cn:函数参考 « WordPress Codex
主题猫-WordPress中文主题站-wordpress主题下载-wordpress主题-wordpress模板-wordpress企业主题
21 Best WordPress Starter Themes for Developers in 2016
HTML5 Blank WordPress boilerplate theme - build themes faster with HTML5 Blank
WordPress Themes & Website Templates from ThemeForest
WordPress中文文档:WordPress主题开发 | WordPress大学
有哪些wordpress企业网站主题推荐? - 知乎
大牛们是如何开发 WordPress 主题的? - 知乎
使用模版搭建的wordpress网站速度很慢,怎么办? - 知乎
WordPress Themes – Theme Hybrid
Web Design Software | WordPress Theme Generator- TemplateToaster
GenerateWP - User friendly tools for WordPress developers
The ThemeShaper WordPress Theme Tutorial: 2nd Edition – ThemeShaper
wordpress函数代码

插件

WordPress插件大全
WORDPRESS文章目录插件:CONTENT INDEX FOR WORDPRESS
WordPress文章目录插件
wordpress插件
挨踢牛 - 专注分享wordpress建站资源的个人博客

直接编辑wp-config.php,插入如下内容开启PHP的错误显示:

error_reporting(E_ALL); ini_set('display_errors', '1');

若测试博客的时候发现,网站打开总是空白。
打开wordpress的DEBUG功能查看问题,
这个功能在wp-config这个文件里打开,找到define('WP_DEBUG', false);这一行将false改为true即可

主题框架

https://codex.wordpress.org/Theme_Frameworks
阿树工作室的Ashuwp Framework
wordpress主题后台设置框架Options Framework使用教程

优化

让 WordPress 飞起来的几个 function

教程

阿树工作室
一学就会的 WordPress 实战课
https://www.wpdaxue.com/
http://blog.wpjam.com/tag/wordpres-tutorials/
Vue & REST API打造WordPress主题选项页
https://code.tutsplus.com/categories/wordpress
利用WordPress REST API 开发微信小程序从入门到放弃 && 作者博客

with vue

https://deliciousbrains.com/creating-a-wordpress-theme-using-the-rest-api-and-vue-js/
https://github.com/bstavroulakis/vue-wordpress-pwa
https://www.npmjs.com/package/vue-wordpress
https://segmentfault.com/a/1190000008715104

下载

http://www.weidea.net
https://www.downloadfreethemes.download/

主题

爱主题
wpcom
主题公园
WP酷
爱找主题
http://www.tvdrupal.com/wordpress_document.html
https://yigujin.cn/
http://zing.xintheme.cn/
http://panda.panda-studio.cn/

企业主题

UAZOH7
DChaser