如果你像 WordPress大学 一样添加了前台自定义登录的表单,也许你需要让用户登录或登出后返回之前的页面,下面是目前使用的方法,一起来看看。 首先,我们获取当前访问的页面地址: 1 $url_this = ‘http://’.$_SERVER[’SERVER_NAME’].$_SERVER["REQUEST_URI"]; $url_this = ‘http://’.$_SERVER[‘SERVER_NAME’].$_SERVER["REQUEST_URI"]; 然后在登录和登出的函数中添加该地址作为参数: 1 2 3 4 5 //登录 <?php echo wp_login_url($url_this); ?> //登出 <?php echo wp_logout_url($url_this); ?> //登录 <?php echo wp_login_url($url_this); ?> //登出 <?php echo wp_logout_url($url_this); ?> 这样一来,登录或登出后都会返回之前访问的页面。 如果你使用后台默认的登录表单,那你可以在前台添加一个链接到登录页面: 1 2 3 4 5 6 7 <?php $url_this = ‘http://’.$_SERVER[’SERVER_NAME’].$_SERVER["REQUEST_URI"]; ?> <a href="<?php […]
December 2018
WordPress 使用 lazyload 延迟加载图片
lazyload 是一个不错的 Jquery 插件,它的作用在于延迟加载图片:页面加载时,使用一个非常小的图片(基本可以忽略大小)替换文章中原有图片,只有当用户滚动页面到图片的地方,才下载和显示原来图片;如果用户没有往下浏览页面,就不加载下面的图片。这样一来,不仅可以加快页面的加载速度,还可以节省流量,减轻服务器负担。更多详情,请访问 http://www.appelsiini.net/projects/lazyload WordPress 要实现 lazyload 延迟加载图片,只需要安装 jQuery Image Lazy Load WP 插件即可,不需要你进行任何设置,该插件只会对文章和页面的内容部分使用 lazyload 延迟加载图片功能。 在后台插件安装界面搜索 jQuery Image Lazy Load 即可在线安装,或者下载 jQuery Image Lazy Load WP
WordPress 禁止用户编辑“我的个人资料”的电子邮件等字段
前些天, @iweb 询问如何才能禁止用户编辑“我的个人资料”中的电子邮件,今天就分享下,通过 jQuery 给表单添加禁用 disabled="disabled" 或 只读 readonly="readonly" 属性来禁止用户编辑字段的方法。将下面的代码添加到主题的 functions.php 文件即可: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 /** * WordPress 禁止用户编辑个人资料的某些字段 * https://www.wpdaxue.com/disable-profile-fields.html */ global $pagenow; if […]
WordPress 移除/修改标题前的“私密”和“密码保护”
如果你将文章的公开度设置为 私密 或 密码保护,这些文章就会在标题的前面自动添加“私密:”或“密码保护:”。 如果你希望移除或者修改这些字样,可以将下面的代码添加到主题的 functions.php: 1 2 3 4 5 6 7 8 9 10 /** * 移除/修改标题前的“私密”和“密码保护” * https://www.wpdaxue.com/remove-change-private-protected-title-format.html */ add_filter( ‘private_title_format’, ‘wpdaxue_private_title_format’ ); add_filter( ‘protected_title_format’, ‘wpdaxue_private_title_format’ ); function wpdaxue_private_title_format( $format ) { return ‘%s’; } /** * 移除/修改标题前的“私密”和“密码保护” * https://www.wpdaxue.com/remove-change-private-protected-title-format.html */ add_filter( ‘private_title_format’, ‘wpdaxue_private_title_format’ ); add_filter( ‘protected_title_format’, ‘wpdaxue_private_title_format’ ); function wpdaxue_private_title_format( […]
WordPress 用户的个人资料更新时发送邮件通知
有些朋友希望在用户的个人资料更新时,发送邮件通知用户,那么,你可以将下面的代码添加到主题的 functions.php 文件: 1 2 3 4 5 6 7 8 9 10 11 12 13 /** * WordPress 用户的个人资料更新时发送邮件通知 * https://www.wpdaxue.com/send-email-notification-when-profile-updates.html */ function user_profile_update( $user_id ) { $site_url = get_bloginfo(’wpurl’); $user_info = get_userdata( $user_id ); $to = $user_info->user_email; $subject = "个人资料已更新: ".$site_url.""; $message = "您好 " .$user_info->display_name . "\n您的个人资料已更新!\n\n感谢您访问\n ".$site_url.""; wp_mail( $to, $subject, $message); […]
WordPress 文章标题链接到站外链接
WordPress 支持多种文章形式,如果你的主题支持的话,就可以在发布文章的时候,看到如下图所示的选项: 我们一般使用“链接”这种文章形式来分享站外链接,点击文章链接时直接访问分享的链接,就像微博一样。要实现这种效果,可以使用之前推荐过的 Page Links To 或 WP Post Redirect。 也可以通过自定义字段来实现,在主题的 functions.php 添加下面的代码: 1 2 3 4 5 6 7 8 9 10 11 /** * WordPress 文章标题链接到站外链接 * https://www.wpdaxue.com/link-post-title-to-external-link.html */ function link_format_url($link, $post) { if (has_post_format(’link’, $post) && get_post_meta($post->ID, ‘LinkFormatURL’, true)) { $link = get_post_meta($post->ID, ‘LinkFormatURL’, true); } return $link; } add_filter(’post_link’, ‘link_format_url’, 10, […]
让 WordPress 只搜索文章的标题
WordPress 默认的搜索功能还真挺弱的,搜索出来的结果很不符合人意,如果你想让它检索出来的结果更加相关,可以限定只搜索文章的标题,将下面的代码添加到主题的 functions.php 文件即可: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 /** * 让 WordPress 只搜索文章的标题 * https://www.wpdaxue.com/search-by-title-only.html */ function __search_by_title_only( $search, &$wp_query ) { global $wpdb; if ( […]
WordPress 用户注册后自动登录/首次登录跳转到指定页面
本文目录[隐藏]1自动登录并重定向2一定时间内登录重定向3一定时间内首次登录重定向(Cookie 版)4一定时间内首次登录重定向(字段 版) 对于开放注册的WordPress站点,用户登录后的页面跳转(重定向)是需要好好考虑的。之前分享过《WordPress 登录/登出(注销)后返回之前访问的页面》,今天要说的是将首次登录或者在指定时间内登录的用户,重定向到指定页面。以下代码都可以添加到主题的 functions.php 自动登录并重定向 注册后自动登录并且重定向到指定页面,其实也是实现首次登录重定向的最简便的方法。 1 2 3 4 5 6 7 8 9 10 11 12 13 /** * 用户注册成功后自动登录,并跳转到指定页面 * https://www.wpdaxue.com/user-first-login-redirect.html */ function auto_login_new_user( $user_id ) { // 用户注册后自动登录 wp_set_current_user($user_id); wp_set_auth_cookie($user_id); // 这里跳转到 http://域名/about 页面,请根据自己的需要修改 wp_redirect( home_url().’about’ ); exit; } add_action( ‘user_register’, ‘auto_login_new_user’); /** * 用户注册成功后自动登录,并跳转到指定页面 * https://www.wpdaxue.com/user-first-login-redirect.html */ function […]
WordPress 积分插件 WordPoints
WordPoints是一款最近发布的WordPress积分插件,支持自定义积分类型,目前(2013-09-22)可以为用户注册、定期登录、发表评论、发布文章提供积分功能,拥有3个小工具:最近积分日志、用户个人积分、积分最多的用户。前台支持使用简码 [wordpoints_points_logs] 调用积分日志,[wordpoints_points_top]调用积分用户排行榜。 WordPoints 使用 组件(component)和 模块(module)方式来定制功能,目前只有 积分(Points)一个组件可用,还没有模块。在 组件 标签下激活 Points,然后会在管理菜单中出现相应的设置菜单。 积分的管理界面很像我们使用的小工具界面,你需要先创建一种积分类型,然后拖动左边的 Hook 到这种积分类型的下方,并设置相应的积分。 WordPoints 还在紧张开发中,后续会有什么惊喜,让我们拭目以待。在后台插件安装界面搜索 WordPoints 即可在线安装,或者下载 WordPoints。目前该插件还不支持本地化,所以没办法汉化。
WordPress 隐藏推介联盟链接/外链转内链
很多朋友都会在博客中添加一些推介联盟链接,但又不想人家知道真实的链接,所以就希望将这些外链转为内链(以自己的域名开头),要实现这个目的,可以使用之前推荐的 Simple URLs,今天再推荐一个类似的插件: Affiliate Link Manager,使用这个插件可以将所有链接转为 http://你的域名/aff_123 这样的链接,支持统计点击次数,还可以查看最近点击的 1000 次链接(包括时间和来源等) 在后台插件安装界面搜索 Affiliate Link Manager 即可在线安装,或者下载 Affiliate Link Manager
WordPress 后台用户列表显示用户昵称
WordPress大学的用户注册需要填写昵称,但是后台用户列表默认是没有显示昵称的,今天就分享下实现的方法。 将下面的代码添加到主题的 functions.php 即可 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /** * WordPress 后台用户列表显示用户昵称 * https://www.wpdaxue.com/add-user-nickname-column.html */ add_filter(’manage_users_columns’, ‘add_user_nickname_column’); function add_user_nickname_column($columns) { $columns[’user_nickname’] = ‘昵称’; return $columns; } add_action(’manage_users_custom_column’, ‘show_user_nickname_column_content’, 20, 3); function show_user_nickname_column_content($value, $column_name, $user_id) { $user = get_userdata( $user_id ); $user_nickname = […]
WordPress只允许已登录用户和某些IP地址的用户访问
如果你打算使用WordPress搭建半公开网站(设置访问权限),比如只允许已登录用户和某些IP地址的用户访问,那你可以使用 Restricted Site Access 插件来实现。安装该插件以后,可以在 设置 –> 阅读 下看到设置选项,在“站点可见性”选择对应的选项,然后可以设置重定向受限访客的方式以及IP白名单: 在后台插件安装界面搜索 Restricted Site Access 即可在线安装,或者下载 Restricted Site Access 。已将该插件汉化,下载简体中文包,解压后上传到该插件的 localization 目录即可(部分词条不支持翻译)。如果对插件的设置不了解,可以点击设置页面右上角的“帮助”查看。
WordPress 自动使用文章ID作为别名(slug)
本文目录[隐藏]1更改固定链接结构2批量修改老文章的别名为ID3新文章自动使用ID作为别名 最近有朋友一直在问:我使用固定链接结构是 %post_id% (ID),但是 WP User Frontend 这个前端用户中心插件要求必须设置为 %postname% (slug)才能使用,我不想改变以前的文章链接地址,该怎么办? 本文就是解决这个问题的,让 WordPress 自动使用文章ID作为别名(slug),也就是说,即使你设置为 %postname% 结构,仍旧可以自动生成 ID 结构的链接。或许你会说,修改固定链接结构后,原来的那些文章的链接变化了,怎么办?不用担心,照样可以解决!进入正题! 为了安全起见,请先备份网站的数据库,然后再按照下文操作! 更改固定链接结构 假设你原来的固定链接结构设置为 /%post_id%,现在你可以将它改为 /%postname% ,这时候你会发现,新建文章和老文章都使用文章标题作为别名 批量修改老文章的别名为ID 将下面的代码添加到网站根目录的 wp-config.php 的最底部,保存后访问一次网站首页(你将看到浏览器一直都在努力打开网页,不要急,耐心等待,直到网页真正打开,所需时间看文章数和网络情况而定)。网页打开后,删除刚刚添加到 wp-config.php 的代码! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 […]
WordPress使用 Autoptimize 合并压缩js和css,加速网站
Autoptimize 是一个功能比较齐全的 WordPress 提速插件,它可以合并压缩 js 和css 文件,添加过期时间、缓存,可移动css到页头,移动js 到页脚,压缩HTML代码等。 在后台插件安装界面搜索 Autoptimize 即可在线安装,或者下载 Autoptimize
WordPress 添加自定义文章类型的存档页面到菜单
如果你的网站使用了自定义文章类型,你可能需要将它的存档页面添加到导航菜单,虽然你可以使用“链接”来添加: 但是这样添加的链接有一个弊端:访问这个自定义文章类型下的页面时,没办法高亮这个菜单项。 其实,最好的效果就是在菜单备选中罗列已有的自定义文章类型,然后可以选择添加至菜单: 要实现这个功能,将下面的代码添加到主题的 functions.php : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 […]
WordPress 为文章/页面/评论/用户/媒体库管理界面添加数据列
之前分享过一些给WordPress文章、页面、用户和媒体库管理界面添加额外的数据列的文章: WordPress后台显示文章、分类、页面、标签、评论、用户等的 ID如何在WordPress后台文章管理列表显示特色图像(Featured Image)在WordPress后台文章列表显示文章所用的附件数量WordPress 后台用户列表显示用户最后一次登录的时间WordPress 后台用户列表添加上次登录时间(代码版)WordPress 后台用户列表显示用户注册时间WordPress 后台用户列表显示用户昵称WordPress媒体库显示文件大小(占用空间)和尺寸 如果你想根据自己的需要添加更多额外的数据列,建议你试试 Codepress Admin Columns 插件。该插件可以为 文章、页面、用户、媒体库、评论和自定义文章类型等添加或删除各种数据列,你可以选择已有的字段,或者添加额外的字段等,还可以拖动排序,设置列的宽度等等。具体的功能大家只有亲自试试才知道。 在后台插件安装界面搜索 Codepress Admin Columns 即可在线安装,或者下载 Codepress Admin Columns。已汉化该插件,你可以下载简体中文包,解压后上传到该插件的 languages 目录即可。
WordPress 快速替换文章/评论的某些文字内容
如果你想替换某些文章或评论中的文字,比如敏感词和过期内容,或者给某些关键字添加链接,比如推广链接等,那么你将下面的代码添加到主题的 functions.php 即可: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /** * WordPress 快速替换文章/评论的某些文字内容 * https://www.wpdaxue.com/replace-text-of-content-or-comment.html */ function wpdaxue_replace_text($text){ $replace = array( // ‘原始文字’ => ‘替换为这些’ ‘WP大学’ => ‘WordPress大学’, ‘阿里云’ => ‘<a href="https://www.wpdaxue.com/go/aliyun">阿里云</a>’, ” => ‘<a href="http://www.cmhello.com/"></a>’ ); $text = str_replace(array_keys($replace), $replace, $text); return $text; […]
自定义 WordPress 后台底部的版权和版本信息
WordPress 后台底部默认会显示WordPress版本信息和版本号,如果你运维一个多用户网站,并且其他用户可以访问后台,那么你可以自定义这些信息,隐藏版本号等。只要将下面的代码添加到主题的 functions.php 即可: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 /** * 自定义 WordPress 后台底部的版权和版本信息 * https://www.wpdaxue.com/change-admin-footer-text.html */ add_filter(’admin_footer_text’, ‘left_admin_footer_text’); function left_admin_footer_text($text) { // 左边信息 $text = ‘<span id="footer-thankyou">感谢使用<a href="http://cn.wordpress.org/">WordPress</a>进行创作</span>’; return $text; } add_filter(’update_footer’, ‘right_admin_footer_text’, 11); function right_admin_footer_text($text) { // 右边信息 $text = "3.6.1版本"; return […]
WordPress 作者存档页面显示自定义文章类型的内容
WordPress 默认会创建一个作者存档页面,例如 https://www.wpdaxue.com/author/cmhello 会显示该作者发布的所有文章,但是如果你的网站使用了自定义文章类型,默认情况下,在这个存档页面是不显示该作者发布的自定义文章类型的内容的。如果你希望它显示,可以在主题的 functions.php 添加下面的代码: 1 2 3 4 5 6 7 8 9 10 11 12 /** * WordPress 作者存档页面显示自定义文章类型的内容 * https://www.wpdaxue.com/custom-post-types-author-archives.html */ function post_types_author_archives($query) { // 添加 questions 这个自定义文章类型到作者存档 if ( $query->is_author ) $query->set( ‘post_type’, array(’questions’, ‘post’) ); // 运行后移除这个挂载动作,防止无限执行 remove_action( ‘pre_get_posts’, ‘post_types_author_archives’ ); } add_action( ‘pre_get_posts’, ‘post_types_author_archives’ ); /** * WordPress […]
WordPress 禁用自定义文章类型的可视化编辑器
如果你想禁用某种自定义文章类型的可视化编辑器,可以将下面的代码添加到主题的 functions.php 即可: 1 2 3 4 5 6 7 8 9 10 11 /** * WordPress 禁用自定义文章类型的可视化编辑器 * https://www.wpdaxue.com/disable-wysiwyg-editor-for-custom-post-types.html */ add_filter( ‘user_can_richedit’, ‘disable_wysiwyg_editor_for_cpt’ ); function disable_wysiwyg_editor_for_cpt( $default ) { global $post; if ( get_post_type( $post ) == ‘question’) // 请修改 question 为你的文章类型 return false; return $default; } /** * WordPress 禁用自定义文章类型的可视化编辑器 * https://www.wpdaxue.com/disable-wysiwyg-editor-for-custom-post-types.html */ […]
WordPress 注册表单添加额外的字段
WordPress 默认的注册表单只有“用户名”和“电子邮件”这两个字段,不少朋友希望注册的时候,添加额外的字段,比如“名字”和“姓氏”等: 下面,就讲解一下添加“名字”和“姓氏”这两个字段的方法,将下面的代码添加到主题的 functions.php 即可: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 /** * WordPress 注册表单添加额外的字段 * https://www.wpdaxue.com/require-additional-profile-fields-at-registration.html */ // 在注册界面添加额外的表单 add_action( […]
WordPress 快速插入虾米音乐
本文目录[隐藏]1XiamiPlayer for WordPress2TinyMCE Xiami Music 国内的虾米音乐是一个非常不错的东东,很多朋友都喜欢调用虾米的音乐,即稳定又流畅,今天就分享两个WordPress插件,大家不妨试试。 XiamiPlayer for WordPress 这是牛人 @mufeng 折腾出来的,是一个虾米Html5和Flash播放器,如果浏览器支持 Html5就使用Html5播放器,如果不支持就使用Flash播放器,貌似是这样的吧。该插件没有在播放器集成快捷插入按钮,需要你自己手动插入简码。 下载 XiamiPlayer for WordPress | 有问题请到 @mufeng 官方反馈 TinyMCE Xiami Music 该插件由 @工口绅士 开发,并且在 虾米官方 得到推荐,该插件使用的是虾米官方的Flash播放器,可以在后台可视化模式下直接搜索和插入虾米音乐,还可以插入 单曲、多曲列表、歌手动态播播、唱片墙等。支持设置是否自动播放。插件不写入任何数据库信息。如果你使用 Windows Live Writer 发布文章,你还可以使用该作者的 WLW虾米插件 哦! 在后台插件安装界面搜索 TinyMCE Xiami Music 即可在线安装,或者下载 TinyMCE Xiami Music,有问题请到 作者官方 反馈。
WordPress 禁止用户使用密码重置功能
在某些特殊情况下,可能需要禁止用户使用WordPress自带的密码重置功能,也就是在登录界面点击“忘记密码?”来找回密码: 如果要禁止所有用户使用这个功能,可以在主题的 functions.php 添加下面的代码: 1 add_filter(’allow_password_reset’, ‘__return_false’ ); add_filter(‘allow_password_reset’, ‘__return_false’ ); 如果仅仅是禁止某些特定的用户使用这个功能,可以在主题的 functions.php 添加下面的代码: 1 2 3 4 5 6 7 add_filter(’allow_password_reset’, ‘no_reset’, 10, 2 ); function no_reset( $bool, $user_id ) { $ids = array( 3, 10 ); // 要禁止的用户ID if ( in_array( $user_id, $ids ) ) return false; return true; } add_filter(‘allow_password_reset’, ‘no_reset’, 10, […]
WordPress 主题和插件编辑器添加版本比较和回滚功能
相信不少朋友要修改某些主题或插件代码时,都喜欢使用WordPress后台的主题编辑和插件编辑功能,但是这样往往有一个问题:该功能不支持“恢复”,也就是你没办法将代码恢复到修改前的状态。我们都知道,WordPress 3.6 添加了一个文章版本比较和回滚功能(详情),如果主题和插件编辑器也有这个功能,那该多好啊! 其实,最近有老外开发了专门针对这个问题的插件 Code Revisions,它可以将保存你编辑的主题和插件的代码版本,允许比较版本的不同和回滚操作: Code Revisions 插件依托于 WordPress 3.6 的文章版本比较功能,必须在 3.6 及以上版本使用。在后台插件安装界面搜索 Code Revisions 即可在线安装,或者下载 Code Revisions 注:该功能很可能会在以后集成到 WordPress核心代码中
WordPress 后台用户列表添加更多操作功能
在WordPress后台用户列表,管理员可以编辑和删除用户,如果你想添加更多的操作,比如你的网站有站内信,你可以添加一个快捷发送站内信的链接。下面我们来添加一个访问用户网址的链接: 如果用户注册时填写了网址,那就添加一个“访问网站”链接,将下面的代码添加到主题的 functions.php: 1 2 3 4 5 6 7 8 9 10 11 /** * WordPress 后台用户列表添加更多操作功能 * https://www.wpdaxue.com/user-row-actions.html */ add_filter( ‘user_row_actions’, ‘wpdaxue_user_row_actions’, 10, 2 ); function wpdaxue_user_row_actions( $actions, $user_object ) { if($user_object->user_url) { // 如果存在网址 $actions[’website’] = ‘<a href="’.$user_object->user_url.’" target="_blank">访问网站</a>’; } return $actions; } /** * WordPress 后台用户列表添加更多操作功能 * https://www.wpdaxue.com/user-row-actions.html */ add_filter( ‘user_row_actions’, […]
为你的 WordPress 站点添加 robots.txt
稍微接触过SEO的站长朋友都应该知道 robots协议(也称为爬虫协议、爬虫规则、机器人协议等),也就是通常添加到网站根目录的robots.txt 文件,它的作用在于告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,从而优化网站的收录结果和权重。 如果你的网站根目录还没有 robots.txt,你可以创建一个,具体的写法请参考 百度百科。下面是一个基本的 WordPress robots协议: User-agent: * Disallow: /feed/ Disallow: /trackback/ Disallow: /wp-admin/ Disallow: /wp-content/ Disallow: /wp-includes/ Disallow: /xmlrpc.php Disallow: /wp- Allow: /wp-content/uploads/ Sitemap: http://example.com/sitemap.xml 下面主要介绍一下 WordPress 自动创建虚拟 robots.txt 功能。如果你的网站根目录不存在真实的 robots.txt,那么可以让 WordPress 自动创建一个虚拟的 robots.txt (该文件不会真实存在,但是访问 http://yoursite.com/robots.txt 时可以正常显示) 将下面的代码添加到主题的 functions.php 即可: 1 2 3 4 5 6 7 8 9 /** * 为你的 […]
WordPress 开启多站点(含Apache和Nginx伪静态规则)
本文目录[隐藏]1开启网络配置2配置多站点模式3添加伪静态规则3.1Apache 规则3.2Nginx 规则4修改固定链接结构4.1主站点4.2子站点本文是《WordPress 多站点》系列教程的第 1 部分,该系列共包含以下 6 个部分:WordPress 开启多站点(含Apache和Nginx伪静态规则)添加/移除 WordPress 多站点网络的默认页面WordPress 多站点网络克隆网站数据和设置WordPress 多站点网络共享图片媒体文件WordPress 关闭多站点模式WordPress多站点网络插件和主题检测:Network Plugin Auditor WordPress 3.0以上的版本支持直接开启多站点模式,这样一来,你可以在一个后台切换多个站点进行管理。 最近打算折腾一个主题演示站,给每个主题使用独立的子站点来搭建演示,如果是Apache环境,配置就比较容易,但是使用的是 Nginx,花了大量的时间测试了N多网络上的伪静态规则,最终找到了完美的解决方法。下面就分享下Linux下 Apache 和 Nginx 两种环境开启多站点的方法。Windows系统环境直接靠边站吧。 开启网络配置 在网站根目录下的 wp-config.php 添加: 1 define(’WP_ALLOW_MULTISITE’, true); define(‘WP_ALLOW_MULTISITE’, true); 配置多站点模式 刷新网站后台,访问 工具 > 配置网络,根据自己的需要选择“子域名”或者“子目录”模式,然后点击“安装”: 只有新安装的WordPress,并且绑定了域名,这时候才可以选择“子域名”模式。 如果你选择是的“子域名”,安装后,请将下面的代码添加到网站根目录下的 wp-config.php 下: 1 2 3 4 5 6 define(’MULTISITE’, true); define(’SUBDOMAIN_INSTALL’, true); define(’DOMAIN_CURRENT_SITE’, ‘yourdomain.com’); define(’PATH_CURRENT_SITE’, […]
使用 WordPress Move 进行网站备份还原和搬家
WordPress Move 是一个非常不错的网站备份还原插件,支持一键完整备份整个网站的所有文件和数据库,一键还原;还可以通过FTP发送备份文件到其他主机空间,实现网站搬家。该插件的备份打包是非常智能的,每个压缩包都可以单独解压。 1.启用插件后,在 设置 > WordPress Move,设置远程备份主机的FTP信息、每个数据库包和文件包的最大体积。 2.然后访问 工具 > Backup Manager 进行备份,可以单独备份数据库,也可以整站备份。备份的文件都会保存在该插件下的 backup 目录,所以备份前,请确保你的主机空间有足够的空间存放备份文件!! 建议创建新备份(尤其是整站备份)前,请先将先前的备份删除或者存档(archive),确保在 Current Backups 列表中的文件都是同一次备份的,这样在使用迁移和还原时,只显示最新备份的同一批次的文件,不会混淆。 点击备份以后,会自动执行备份进程,备份过程中,请耐心等待,直到备份结束,切记不要中途关闭或刷新该页面!!!! 3.备份过以后,访问 工具 > Migration Assistant,有 3 个功能可以用: 更改域名——可以更改当前网站的域名,它会批量替换数据库中的旧域名;迁移——可以将你备份的文件和数据库发送到远程主机空间(也就是在上面设置的那个FTP),使用这个功能前,请先在远程主机空间同样安装WordPress 和 WordPress Move,然后将上面的 FTP 远程备份路径设置为该插件下的 backup 目录,这样,当发送完备份文件以后,就可以访问远程主机空间的 WordPress Move,通过“还原”功能进行还原,就实现了网站的搬家。还原——可以从 backup 目录选择已备份的文件进行还原。 在后台插件安装界面搜索 WordPress Move 即可在线安装,或者下载 WordPress Move 重要提醒:任何插件的备份还原都不能保证万无一失,所以,使用该插件进行还原或迁移前,强烈建议手动备份好数据库和重要文件!!
WordPress 给“特色图像”模块添加说明文字
特色图像 一般是用来作为文章的缩略图的,有些WordPress主题必须为每篇文章设置特色图像才能显示缩略图。如果你的网站后台是多人写作,或者允许投稿,那么你最好给“特色图像”加点说明文字,告诉投稿者,这是做什么用的,如下图: 要实现这个功能,只需将下面的代码添加到主题的 functions.php 即可: 1 2 3 4 5 6 7 8 /** * WordPress 给“特色图像”模块添加说明文字 * https://www.wpdaxue.com/add-featured-image-instruction.html */ add_filter( ‘admin_post_thumbnail_html’, ‘add_featured_image_instruction’); function add_featured_image_instruction( $content ) { return $content .= ‘<p>特色图像将用来作为这篇文章的缩略图,请务必为文章选择一个特色图像。</p>’; } /** * WordPress 给“特色图像”模块添加说明文字 * https://www.wpdaxue.com/add-featured-image-instruction.html */ add_filter( ‘admin_post_thumbnail_html’, ‘add_featured_image_instruction’); function add_featured_image_instruction( $content ) { return $content .= ‘<p>特色图像将用来作为这篇文章的缩略图,请务必为文章选择一个特色图像。</p>’; } 要确保必须设置特色图像,请参考:WordPress发布文章前强制要求上传特色图像
WordPress 后台发布文章时提示用户选择分类
默认情况下,如果发布文章时没有选择分类,文章就会被自动归类到 后台 > 设置 > 撰写 设置的“默认文章分类目录”: 很多用户在后台发布文章,常常会忘记选择分类,所以很有必要添加一个提醒功能,如果没有选择分类,点击发布时,就显示一个提示信息。要实现这个功能,只要将下面的代码添加到主题的 functions.php 即可: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 /** * WordPress 发布文章前必须选择分类 * https://www.wpdaxue.com/choose-a-category-before-publish.html */ […]
WordPress 自动为新文章添加已使用过的标签
每次都要手动给文章添加标签,很麻烦?不知文章是否出现以前用过的标签,怎么办?以下代码就可以解决这些问题,它会在你发布/保存文章时,检测文章的内容中,是否出现曾经使用过的标签,如果出现,就自动为文章添加这些标签。 将代码添加到主题的 functions.php 即可: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /** * WordPress 自动为文章添加已使用过的标签 * https://www.wpdaxue.com/auto-add-tags.html */ add_action(’save_post’, ‘auto_add_tags’); function auto_add_tags(){ $tags = get_tags( array(’hide_empty’ => false) ); $post_id = get_the_ID(); $post_content = get_post($post_id)->post_content; if ($tags) { foreach ( $tags as $tag ) { […]
WordPress 根据用户名/用户角色/能力/是否登录等隐藏部分文章内容
在写文章的时候,也许你需要添加一些只对特殊用户才显示的内容,今天就分享一下,通过简码来隐藏文章的部分内容,只有符合条件的用户(比如 指定的用户、属于某种用户角色、拥有某种能力、是否登录等)才能查看。 将下面的代码添加到主题的 functions.php: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 /** * WordPress 根据用户名/用户角色/能力/是否登录等隐藏部分文章内容 * https://www.wpdaxue.com/eyes-only-user-access-shortcode.html */ add_shortcode(’eyesonly’, ‘sc_eyesonly’); function sc_eyesonly($atts, $content = null) { extract(shortcode_atts(array(’username’ => null, ‘level’ => null, ‘logged’ => null,’hide’ => null,),$atts)); if (!$hide || $hide === ‘no’ […]
WordPress 注册表单添加验证问题(支持多个随机问题)
通常网站的注册表单都使用验证码来进行验证,但是有没有考虑过使用验证问题来验证呢?使用问题验证的好处在于:防止机器人注册(和验证码一样),只有知道答案的人才能注册(可用于限制用户注册)。下面将添加一个验证问题:中国的首都是哪里?答案是个正常人都知道:北京。 将下面的代码添加到主题的 functions.php 即可: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 /** * WordPress 注册表单添加验证问题 * https://www.wpdaxue.com/add-a-security-question-to-the-register-screen.html */ add_action( ‘register_form’, ‘add_security_question’ ); function add_security_question() { ?> <p> <label><?php _e(’中国的首都是哪里?’) ?><br /> <input type="text" name="user_proof" id="user_proof" class="input" size="25" tabindex="20" /></label> </p> […]

