标签 WordPress 下的文章

以下来自 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模板了。


来自 https://eqblog.com/wordpress-use-custom-html.html
首先,在外观-》小工具处添加一个自定义HTML小工具到你的侧栏:

添加以下代码:

<style type="text/css">
.zzsc-content{
padding-left:10%;
}
#clock{
font-family: 'Days One',"Microsoft YaHei", Arial,sans-serif;
font-size: 2em;
}
</style>
<div class="zzsc-content bgcolor-8">
<span id="clock"></span>
</div>

<script type="text/javascript" src="https://eqblog.com/jquery.countdown.js"></script>
<script type="text/javascript">
$(function(){
$('#clock').countdown('2018/6/7', function(event) {
$(this).html(event.strftime('%D 天 %H:%M:%S'));
});
})
</script>

在$(‘#clock’).countdown(‘2018/6/7’, function(event)这条里改成你要到的日期。
另外建议你将这一条中的js下载到你的网站环境中替换。

css样式请自行美化~


以下来自 http://www.hostloc.com/thread-422294-1-1.html

//禁用修订版本
add_filter( 'wp_revisions_to_keep', 'fanly_wp_revisions_to_keep', 10, 2 );
function fanly_wp_revisions_to_keep( $num, $post ) { return 0;}
//禁用自动保存
add_action('wp_print_scripts', 'fanly_no_autosave');
function fanly_no_autosave() { wp_deregister_script('autosave'); }

4.9好像没有修订版本了,自动保存草稿在wp-config.php文件,
define('WP_DEBUG', false);之后添加define('AUTOSAVE_INTERVAL', 36000);就行了,
意思是24小时保存一次,我以前是两个代码都用了,
后来我更新主题忘了用了发现数据库里也没有修订版本,
我刚才试了这个代码,是有用的,不加代码是3分钟自动保存,加了就不保存了,
修订版本不用改了,因为我修改以后数据库没增加文件


最近一次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;
}

提供一份wordpress主题开发中的优化项目,经过许多版本迭代的最优体验。

随着wordprss功能的越来越完善,同时也越来越臃肿,有必要进行响应的优化工作,特别是对于做企业网站开发而言。

清除控制台不必要功能

add_action('wp_dashboard_setup', 'example_remove_dashboard_widgets' );
function example_remove_dashboard_widgets() {
    // 控制面板优化
    global $wp_meta_boxes;
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']); // 删除 "快速发布" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']); // 删除 "引入链接" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']); // 删除 "近期评论" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);  // 删除 "近期草稿" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);  // 删除 "WordPress 开发日志" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);  // 删除 "其它 WordPress 新闻" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']); // 删除 "概况" 模块
}
//移除不必要后台菜单选项
add_action( 'admin_menu', 'wpjam_remove_admin_menus' );
function wpjam_remove_admin_menus(){
    remove_menu_page( 'index.php' );                  //移除“仪表盘”-隐藏版本更新提示
    remove_menu_page( 'edit-comments.php' );          //移除“评论”
    //remove_menu_page( 'plugins.php' );              //移除"插件"
    remove_menu_page( 'tools.php' );                  //移除"工具"
    remove_submenu_page( 'options-general.php', 'options-writing.php' );    //移除二级菜单:“设置”——“撰写”
    // remove_submenu_page( 'options-general.php', 'options-discussion.php' ); //移除二级菜单:“设置”——“讨论”
    // remove_submenu_page( 'options-general.php', 'options-media.php' );      //移除二级菜单:“设置”——“多媒体”
}

remove_action('admin_init', '_maybe_update_themes');
add_filter('pre_site_transient_update_themes',  create_function('$a', "return null;"));//禁用主题更新
remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );//禁用插件更新
remove_action('admin_init', '_maybe_update_core');
add_filter('pre_site_transient_update_core',    create_function('$a', "return null;")); //禁用版本更新

移除不必要的选项

// Remove Actions
remove_action('wp_head', 'feed_links_extra', 3); // feeds链接
remove_action('wp_head', 'feed_links', 2); 
remove_action('wp_head', 'rsd_link'); //移除head中的rel="EditURI"
remove_action('wp_head', 'wlwmanifest_link'); //移除head中的rel="wlwmanifest"
remove_action('wp_head', 'index_rel_link'); // 
remove_action('wp_head', 'parent_post_rel_link', 10, 0); // Prev link
remove_action('wp_head', 'start_post_rel_link', 10, 0); // Start link
remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0); //
remove_action('wp_head', 'wp_generator'); //禁止在head泄露wordpress版本号
remove_action('wp_head', 'start_post_rel_link', 10, 0);
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
remove_action('wp_head', 'rel_canonical');
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);



官方

微信小程序官方文档 https://mp.weixin.qq.com/debug/wxadoc/dev/index.html
微信小程序接入指南 https://mp.weixin.qq.com/debug/wxadoc/introduction/index.html
微信小程序开发工具下载 https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html
简易教程 https://mp.weixin.qq.com/debug/wxadoc/dev/
框架 https://mp.weixin.qq.com/debug/wxadoc/dev/framework/MINA.html
组件 https://mp.weixin.qq.com/debug/wxadoc/dev/component/
API https://mp.weixin.qq.com/debug/wxadoc/dev/api/
Q&A https://mp.weixin.qq.com/debug/wxadoc/dev/qa.html
开发者社区 https://developers.weixin.qq.com/

微信web开发者工具
https://mp.weixin.qq.com/wiki?action=doc&id=mp1455784140
https://www.weixinsxy.com/jssdk/

https://github.com/Tencent/wepy wepy官方仓库
https://tencent.github.io/wepy/ wepy官方文档
https://github.com/aben1188/awesome-wepy 微信小程序组件化开发框架wepy开发资源汇总

文档接口例子

http://203.195.235.76/jssdk/#menu-image

https://blog.csdn.net/u011500781/article/details/51746364
微信公众平台前端人员对接(微信拍照上传)
http://203.195.235.76/jssdk/#menu-image

https://aotu.io/notes/2018/06/07/Taro/
多端统一开发框架 - Taro

《小程序从0到1,微信全栈工程师一本通》作者专栏
https://zhuanlan.zhihu.com/zero-weapp

框架

taro
wepy
mpvue
小程序组件化开发框架 (GitHub) https://wepyjs.github.io/wepy
https://tencent.github.io/wepy/index.html WePY | 小程序组件化开发框架
微信小程序wepy开发资源汇总

第三方微信小程序在线开发手册(更新落后) http://doc.pietian.com/

微信小程序开源项目库汇总
微信小程序开源项目库汇总 http://www.opendigg.com/tags/wechat-app

项目

微信小程序 - 王者图鉴
给ofo共享单车撸一个微信小程序
微信小程序ofo小黄车+thinkphp5.0打造全栈应用
电影推荐 - 微信小程序
微信小程序商城

cms:https://www.icmsdev.com/

Wordpress API

https://github.com/iamxjb/winxin-app-watch-life.net
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

typecho

Wetypecho && GitHub

https://mp.weixin.qq.com/s/GnHzJWYFJUXYuvYq6Cb_FA
微信小程序“反编译”实战(一):解包

Vue仿微信菜单编辑器demo




很多小伙伴在使用wordpress缓存时,除了缓存对象(memcached)和缓存php字节码(xcache),有时候还需要缓存文章的静态页面,所以现在为大家带来了非插件形式的生成html静态缓存,同时还可以自动更新!如果有需要的伙伴可以把静态html缓存到主机的内存中,这样就会更加快速的,不过需要你的主机内存够大才行!

阅读全文



有这样的一个问题,WordPress默认并不会审核评论到底是不是博主发表的,如果有人知道博主的昵称和Email (这是很容易搞到的),那么它使用这个昵称和Email,就可以成功的冒充博主发表评论,进而可能会欺骗其他访客。这对于好多天都不查看自己博客的博主来说,是极其危险的,可能会对你的博客以及你个人的信誉造成很坏的影响;当然如果你一天登陆你的博客N多次,那么这样的问题就不是问题了。

阅读全文



在64MB内存的VPS上搭建WordPress,这显然是一件让人非常捉急的事情,众多的Web环境一键安装包一般只支持最小128MB内存。考虑到内存只有64MB,Apache和MySQL就不用想了;HTTP服务器可以用LighttpdNginx代替,数据库也可以使用轻量级的SQLite

阅读全文