文章目录
- 自WordPress 3.5版本开始,隐藏了后台媒体设置页面的“默认上传路径和文件的完整URL地址”选项,可以通过下面的代码将该选项调出来。 将下面的代码添加到当前主题functions.php文件中,就可以调出该选项: if(get_option('upload_path')=='wp-content/uploads' || get_option('upload_path')==null) { update_option('upload_path',WP_CONTENT_DIR.'/uploads'); } 注:该代码使用后删除即可,不用保留在主题中。
- wordpress 博客总会出现 wordpress 重定向循环问题,经常导致 google 浏览器打不开,最近 firefox 也出现重定向循环这东西了,立马意识到问题的严重性,更严重的就是修改分页规则没用了,也导致 cos-HTML-cache 无法缓存。页面重定向循环出现的提示是:此页面重定向不正确,Firefox 检测到该服务器正在将此地址的请求循环重定向。此问题可能是因为禁用或拒绝 Cookie 导致。 修改301规则什么的都没效的情况下,大家可以尝试下以下方法来解决问题。 找到您的当前主题文件夹下的 functions.php 文件,在最后加上下面一行代码: remove_filter('template_redirect', 'redirect_canonical'); 推荐使用此方法,不会因为 wordpress 升级而而重新修改
- // 禁用自动生成的图片尺寸 function shapeSpace_disable_image_sizes($sizes) { unset($sizes['thumbnail']); // disable thumbnail size unset($sizes['medium']); // disable medium size unset($sizes['large']); // disable large size unset($sizes['medium_large']); // disable medium-large size unset($sizes['1536x1536']); // disable 2x medium-large size unset($sizes['2048x2048']); // disable 2x large size return $sizes; } add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes'); // 禁用缩放尺寸 add_filter('big_image_size_threshold', '__return_false'); // 禁用其他图片尺寸 function shapeSpace_disable_other_image_sizes() { remove_image_size('post-thumbnail'); // disable images added via set_post_thumbnail_size() remove_image_size('another-size'); // disable any other added image sizes } add_action('init', 'shapeSpace_disable_other_image_sizes');
- 有没有发现 wordpress 上传图片越来越慢了呢,分享一个 wordpress 优化小技巧,可以在图片上传的时候给上传的图片重命名加上时间戳,减少 sql 查询。 function wpjam_handle_upload_prefilter($file) { if(strlen($file['name'])<=7){ $file['name'] = time().'-'.$file['name']; } return $file; }; add_filter('wp_handle_upload_prefilter', 'wpjam_handle_upload_prefilter');
- 添加自定义字体可以使您的WordPress网站具有独特的外观和风格。以下是在WordPress主题中添加自定义字体的步骤: 上传自定义字体文件:将您想要使用的自定义字体文件上传到您的WordPress安装目录中的 wp-content/uploads 文件夹中。确保您具有合法的许可证来使用这些字体文件。 添加自定义字体到CSS样式表:在您的主题的CSS样式表中添加对自定义字体的引用。使用正确的字体路径和字体名称,并将字体添加到适当的CSS选择器中。例如: @font-face { font-family: 'MyCustomFont'; src: url('uploads/my-custom-font.woff2') format('woff2'), url('uploads/my-custom-font.woff') format('woff'); font-weight: normal; font-style: normal; } 应用自定义字体:在您的主题的CSS样式表中,将自定义字体应用到所需的元素上。例如: body { font-family: 'MyCustomFont', sans-serif; } 更新并测试主题:保存您的更改,并更新您的WordPress主题。然后,通过访问您的网站来测试自定义字体是否按预期显示和应用。
- 要在WordPress主题中使用额外的JavaScript,可以按照以下步骤进行操作: 打开你的WordPress网站的文件管理器或使用FTP客户端进入网站的目录。 进入你正在使用的主题目录(通常在wp-content/themes/目录下)。 在主题目录中,查找一个名为"js"的文件夹,如果没有,请创建一个。 将你的自定义JavaScript文件(.js)上传到"js"文件夹中。 打开你正在使用的主题的functions.php文件。你可以在WordPress后台的外观->编辑器中找到这个文件。 在functions.php文件中,找到一个名为"wp_enqueue_scripts"的函数。如果没有,请在文件的末尾添加以下代码: function enqueue_custom_scripts() { wp_enqueue_script( 'custom-script', get_template_directory_uri() . '/js/your-custom-script.js', array(), '1.0', true ); } add_action( 'wp_enqueue_scripts', 'enqueue_custom_scripts' ); 这段代码将注册并将自定义JavaScript文件添加到主题中。 将"your-custom-script.js"替换为实际的自定义JavaScript文件的名称和路径。 保存functions.php文件。 现在,你的自定义JavaScript文件将在WordPress主题中加载和执行。确保在JavaScript文件中编写正确的代码,并根据需要将文件放置在适当的位置。 请注意,在编辑主题文件时要小心,确保备份文件并遵循最佳实践,以免意外地破坏你的网站。
- 一款图片类的WordPress主题使用后,发现了一个奇怪的bug反馈,就是插入的图片无法显示? 首先确定一下获取缩略图的逻辑是wp_get_attachment_image这个函数,意义就是根据媒体ID来输出裁剪缩略图,能获取到媒体ID就可以输出该图片的缩略图;反之如果获取不到媒体ID则无法输出缩略图; 问题:为什么获取不到媒体的ID呢? 研究:发现插入到文章的图片不是全尺寸的原图文件,而是*****768x500.jpg 这样的文件;因为不是全尺寸的原图文件,所以通过attachment_url_to_postid就查不到媒体ID,所以就无法显示出缩略图了 解决:强制用户上传的图片插入到文章时,以全尺寸插入?是否问题则解决了呢?试试吧 给代码到functions.php文件里 //WordPress文章插入图片显示方式(尺寸/对齐方式/链接到) add_action( 'after_setup_theme', 'default_attachment_display_settings' ); function default_attachment_display_settings() { update_option( 'image_default_align', 'center' ); //居中显示 update_option( 'image_default_link_type', ' file ' ); //连接到媒体文件本身 update_option( 'image_default_size', 'full' ); //完整尺寸 } 代码都加了注释,清晰明了,经过此操作后,再插入进来的图像则自动以全尺寸出现,因为是全尺寸则可用查到媒体ID,就可以对其进行裁剪,则正常显示出裁剪后的缩略图。
- WordPress默认情况下不支持上传SVG(可缩放矢量图形)图像。这是为了安全考虑,因为SVG文件可以包含恶意代码,可能对您的网站造成安全风险。然而,您可以使用以下方法来启用SVG上传和在媒体库中显示SVG图像: 使用插件:您可以通过安装和激活特定的WordPress插件来启用SVG支持。一些插件可以帮助您安全地上传和管理SVG文件。在WordPress插件市场中搜索“SVG支持”,然后选择一个受信任的插件来实现这一功能。 自定义主题功能:如果您具有编程技能,可以在自定义主题中添加以下代码,以启用SVG上传: // 允许上传SVG function cc_mime_types($mimes) { $mimes['svg'] = 'image/svgxml'; return $mimes; } add_filter('upload_mimes', 'cc_mime_types'); 将上述代码添加到您的主题的functions.php文件中。这将允许您上传SVG文件。 注意安全性:使用上述方法之一启用SVG上传后,请确保仅上传来自受信任来源的SVG文件,以防止潜在的安全风险。不要上传来自未知或不受信任的来源的SVG文件。 缓存清除:如果您的SVG文件在上传后无法在媒体库中正确显示,请尝试清除WordPress缓存,以确保文件被正确处理和显示。 请注意,启用SVG上传可能会增加安全风险,因此请谨慎处理。确保您的网站具有良好的安全性措施,包括更新WordPress核心、插件和主题,以及定期备份您的网站数据。此外,建议仅从受信任的来源获取SVG文件以降低潜在的安全威胁。
- 十,8个实用的WordPress数据库技巧
自WordPress 3.5版本开始,隐藏了后台媒体设置页面的“默认上传路径和文件的完整URL地址”选项,可以通过下面的代码将该选项调出来。
将下面的代码添加到当前主题functions.php文件中,就可以调出该选项:
if(get_option('upload_path')=='wp-content/uploads' || get_option('upload_path')==null) {
update_option('upload_path',WP_CONTENT_DIR.'/uploads');
}
注:该代码使用后删除即可,不用保留在主题中。
wordpress 博客总会出现 wordpress 重定向循环问题,经常导致 google 浏览器打不开,最近 firefox 也出现重定向循环这东西了,立马意识到问题的严重性,更严重的就是修改分页规则没用了,也导致 cos-HTML-cache 无法缓存。页面重定向循环出现的提示是:此页面重定向不正确,Firefox 检测到该服务器正在将此地址的请求循环重定向。此问题可能是因为禁用或拒绝 Cookie 导致。
修改301规则什么的都没效的情况下,大家可以尝试下以下方法来解决问题。
找到您的当前主题文件夹下的 functions.php 文件,在最后加上下面一行代码:
remove_filter('template_redirect', 'redirect_canonical');
推荐使用此方法,不会因为 wordpress 升级而而重新修改
// 禁用自动生成的图片尺寸
function shapeSpace_disable_image_sizes($sizes) {
unset($sizes['thumbnail']); // disable thumbnail size
unset($sizes['medium']); // disable medium size
unset($sizes['large']); // disable large size
unset($sizes['medium_large']); // disable medium-large size
unset($sizes['1536x1536']); // disable 2x medium-large size
unset($sizes['2048x2048']); // disable 2x large size
return $sizes;
}
add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes');
// 禁用缩放尺寸
add_filter('big_image_size_threshold', '__return_false');
// 禁用其他图片尺寸
function shapeSpace_disable_other_image_sizes() {
remove_image_size('post-thumbnail'); // disable images added via set_post_thumbnail_size()
remove_image_size('another-size'); // disable any other added image sizes
}
add_action('init', 'shapeSpace_disable_other_image_sizes');
// 禁用自动生成的图片尺寸
function shapeSpace_disable_image_sizes($sizes) {
unset($sizes['thumbnail']); // disable thumbnail size
unset($sizes['medium']); // disable medium size
unset($sizes['large']); // disable large size
unset($sizes['medium_large']); // disable medium-large size
unset($sizes['1536x1536']); // disable 2x medium-large size
unset($sizes['2048x2048']); // disable 2x large size
return $sizes;
}
add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes');
// 禁用缩放尺寸
add_filter('big_image_size_threshold', '__return_false');
// 禁用其他图片尺寸
function shapeSpace_disable_other_image_sizes() {
remove_image_size('post-thumbnail'); // disable images added via set_post_thumbnail_size()
remove_image_size('another-size'); // disable any other added image sizes
}
add_action('init', 'shapeSpace_disable_other_image_sizes');
在 WordPress 后台点击新建文章的时候,都会创建一个状态为 auto-draft 的草稿,并且每次点击新建文章的时候都会新建一个,然后 WordPress 会执行一个定时作业 wp_scheduled_auto_draft_delete 将所有 auto-draft 的草稿删除了,这也是 POST ID 不连续的原因之一。
虽然不会造成什么的问题,但是连续的创建新的 auto-draft 的草稿,然后删除,是一种浪费,所以我们可以使用内存缓存来优化自动草稿功能,下面代码把这个自动草稿放到内存中,一小时内直接使用,不在创建新的。
请复制到当前主题的 functions.php 文件中:
add_action('current_screen', function ($current_screen){
// 只有新建文章的时候才执行
if($screen_base != 'post' || $current_screen->post_type == 'attachment' || $current_screen->action != 'add'){
return;
}
//如果内存中已有上次创建的自动草稿
if($last_post_id = wp_cache_get(get_current_user_id(), 'wpjam_'.$current_screen->post_type.'_last_post_id')){
$post = get_post($last_post_id);
if($post && $post->post_status == 'auto-draft'){
wp_redirect(admin_url('post.php?post='.$last_post_id.'&action=edit'));
exit;
}
}
add_action('admin_footer', function(){
global $post;
//将自动草稿ID缓存到内存中
wp_cache_set(get_current_user_id(), $post->ID, 'wpjam_'.$post->post_type.'_last_post_id', HOUR_IN_SECONDS);
});
}, 10, 2);
有没有发现 wordpress 上传图片越来越慢了呢,分享一个 wordpress 优化小技巧,可以在图片上传的时候给上传的图片重命名加上时间戳,减少 sql 查询。
function wpjam_handle_upload_prefilter($file) {
if(strlen($file['name'])<=7){ $file['name'] = time().'-'.$file['name']; } return $file; };
add_filter('wp_handle_upload_prefilter', 'wpjam_handle_upload_prefilter');
添加自定义字体可以使您的WordPress网站具有独特的外观和风格。以下是在WordPress主题中添加自定义字体的步骤:
上传自定义字体文件:将您想要使用的自定义字体文件上传到您的WordPress安装目录中的 wp-content/uploads 文件夹中。确保您具有合法的许可证来使用这些字体文件。
添加自定义字体到CSS样式表:在您的主题的CSS样式表中添加对自定义字体的引用。使用正确的字体路径和字体名称,并将字体添加到适当的CSS选择器中。例如:
@font-face {
font-family: 'MyCustomFont';
src: url('uploads/my-custom-font.woff2') format('woff2'),
url('uploads/my-custom-font.woff') format('woff');
font-weight: normal;
font-style: normal;
}
应用自定义字体:在您的主题的CSS样式表中,将自定义字体应用到所需的元素上。例如:
body {
font-family: 'MyCustomFont', sans-serif;
}
更新并测试主题:保存您的更改,并更新您的WordPress主题。然后,通过访问您的网站来测试自定义字体是否按预期显示和应用。
要在WordPress主题中使用额外的JavaScript,可以按照以下步骤进行操作:
- 打开你的WordPress网站的文件管理器或使用FTP客户端进入网站的目录。
- 进入你正在使用的主题目录(通常在wp-content/themes/目录下)。
- 在主题目录中,查找一个名为"js"的文件夹,如果没有,请创建一个。
- 将你的自定义JavaScript文件(.js)上传到"js"文件夹中。
- 打开你正在使用的主题的functions.php文件。你可以在WordPress后台的外观->编辑器中找到这个文件。
- 在functions.php文件中,找到一个名为"wp_enqueue_scripts"的函数。如果没有,请在文件的末尾添加以下代码:
function enqueue_custom_scripts() {
wp_enqueue_script( 'custom-script', get_template_directory_uri() . '/js/your-custom-script.js', array(), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'enqueue_custom_scripts' );
这段代码将注册并将自定义JavaScript文件添加到主题中。
- 将"your-custom-script.js"替换为实际的自定义JavaScript文件的名称和路径。
- 保存functions.php文件。
现在,你的自定义JavaScript文件将在WordPress主题中加载和执行。确保在JavaScript文件中编写正确的代码,并根据需要将文件放置在适当的位置。
请注意,在编辑主题文件时要小心,确保备份文件并遵循最佳实践,以免意外地破坏你的网站。
一款图片类的WordPress主题使用后,发现了一个奇怪的bug反馈,就是插入的图片无法显示?
首先确定一下获取缩略图的逻辑是wp_get_attachment_image这个函数,意义就是根据媒体ID来输出裁剪缩略图,能获取到媒体ID就可以输出该图片的缩略图;反之如果获取不到媒体ID则无法输出缩略图;
问题:为什么获取不到媒体的ID呢?
研究:发现插入到文章的图片不是全尺寸的原图文件,而是*****768x500.jpg 这样的文件;因为不是全尺寸的原图文件,所以通过attachment_url_to_postid就查不到媒体ID,所以就无法显示出缩略图了
解决:强制用户上传的图片插入到文章时,以全尺寸插入?是否问题则解决了呢?试试吧
给代码到functions.php文件里
//WordPress文章插入图片显示方式(尺寸/对齐方式/链接到)
add_action( 'after_setup_theme', 'default_attachment_display_settings' );
function default_attachment_display_settings() {
update_option( 'image_default_align', 'center' ); //居中显示
update_option( 'image_default_link_type', ' file ' ); //连接到媒体文件本身
update_option( 'image_default_size', 'full' ); //完整尺寸
}
代码都加了注释,清晰明了,经过此操作后,再插入进来的图像则自动以全尺寸出现,因为是全尺寸则可用查到媒体ID,就可以对其进行裁剪,则正常显示出裁剪后的缩略图。
WordPress默认情况下不支持上传SVG(可缩放矢量图形)图像。这是为了安全考虑,因为SVG文件可以包含恶意代码,可能对您的网站造成安全风险。然而,您可以使用以下方法来启用SVG上传和在媒体库中显示SVG图像:
- 使用插件:
您可以通过安装和激活特定的WordPress插件来启用SVG支持。一些插件可以帮助您安全地上传和管理SVG文件。在WordPress插件市场中搜索“SVG支持”,然后选择一个受信任的插件来实现这一功能。
- 自定义主题功能:
如果您具有编程技能,可以在自定义主题中添加以下代码,以启用SVG上传:
// 允许上传SVG
function cc_mime_types($mimes) {
$mimes['svg'] = 'image/svgxml';
return $mimes;
}
add_filter('upload_mimes', 'cc_mime_types');
- 将上述代码添加到您的主题的
functions.php文件中。这将允许您上传SVG文件。
- 注意安全性:
使用上述方法之一启用SVG上传后,请确保仅上传来自受信任来源的SVG文件,以防止潜在的安全风险。不要上传来自未知或不受信任的来源的SVG文件。
- 缓存清除:
如果您的SVG文件在上传后无法在媒体库中正确显示,请尝试清除WordPress缓存,以确保文件被正确处理和显示。
请注意,启用SVG上传可能会增加安全风险,因此请谨慎处理。确保您的网站具有良好的安全性措施,包括更新WordPress核心、插件和主题,以及定期备份您的网站数据。此外,建议仅从受信任的来源获取SVG文件以降低潜在的安全威胁。
十,8个实用的WordPress数据库技巧
近10年,MySQL数据库广受网络大众欢迎。现在,所有的WordPress博客(包括日志,设置,评论等)都由MySQL数据库支持。
虽然插件和代码修改能帮助我们解决一些问题,但有时我们也不得不用phpMyAdmin 中的SQL命令或直接通过SSH访问数据库来解决问题。这篇文章将向大家介绍对WordPress较有用的8个SQL修改。其中每个修改版块都提出了一个问题,并给出解决方案和注解。
问题:尽管本文中所有的技巧都经过测试,但是在尝试前请务必首先备份MySQL数据库。
解决方法:手动备份数据库,请按以下步骤操作:
- 登陆phpMyAdmin,选中要备份的数据库。
- 点击水平菜单上的“导出”按钮。
- 选择压缩方法(我本人使用gzip),然后单击“执行”。
- 服务器接着会询问你是否下载备份,点击“是”,然后把它存储到硬盘。
注解:使用WP-DB-Backup插件执行数据库备份非常方便。WordPress用户可以安装这个插件并定期备份数据。
2 批量删除日志修订本
问题:日志修订本是2.6的新增功能,虽然十分有用,但这也增加了MySQL数据库的负担。你当然可以手动删除修订本,但这将十分麻烦且耗时过长。
解决方法:这个解决办法非常简单。我们可以使用SQL语句批量删除日志修订本。
- 登陆phpMyAdmin,选中你的WordPress数据库。
- 单击“SQL”按钮。把以下窗口中的命令复制粘贴到SQL命令下:DELETE FROM wp_posts WHERE post_type = “revision”;
- 完成了!删除掉的日志为你腾除了大量数据库空间!
注解:wp_posts 表格包含一个名为post_type 的字段。这个字段可被赋予诸如日志,页面,修订本的值。当我们需要删除日志修订本时,只要运行wp_posts表格中相对应的修订本删除语句就行了。
3 快速删除垃圾评论
问题:我的一个朋友前不久开通博客后,一直在网上努力推广他的博客。 在他外出度假归来时,竟发现自己有5000多条评论等待审核!当然,其中多数都是垃圾广告。但他认为自己不得不逐个审核以防删除了正常评论。
解决方法:庆幸的是,他把这个问题告诉了我。当我告诉他可以使用 SQL时,他已经审核45分钟了。
- 登陆phpMyAdmin,选中你的WordPress数据库。
- 单击“SQL”按钮。把以下窗口中的命令复制粘贴到SQL命令下:
DELETE from wp_comments WHERE comment_approved = ‘0’;
- 完成了!现在可以享受清洁无污染的数据库环境了!
注解:wp_comments表格中包含名为comment_approved的域,它是一个boolean值(1或0)。通过审核的评论值为1,等待审核的值为0.运行以上语句,其实就是删除还没有通过审核的评论。
此操作要谨慎执行。以上语句不仅能帮我们删除大量垃圾评论,同时也会删除无效的没有通过审核的评论。如果你还没有使用Akismet,现在就安装以打击垃圾评论吧。
4 更改日志属性
问题:管理帐户在安装WordPress时就已创建。但许多博主把这个帐户误以为就是写日志的帐号,以致到后来才发现这不是私人帐号。
解决方法:更改所有日志的作者属性要花费很多时间,但使用SQL就不用这么麻烦了。
- 登陆phpMyAdmin,选中你的WordPress数据库。
- 首先,打开SQL语句窗口,执行以下命令以获取正确的作者ID:
SELECT ID, display_name FROM wp_users;
- phpMyAdmin会显示许多WordPress用户的ID。其中NEW_AUTHOR_ID是最近写日志的作者的ID, OLD_AUTHOR_ID是原始管理员的ID。
- 交换NEW_AUTHOR_ID 和 OLD_AUTHOR_ID ID后,运行以下语句:
UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;
- 完成了!以前的日志属性现在已改为你刚刚设置的了!
5 手动重设密码
问题:为了增加博客安全性,许多博主选择不易被破解的密码,如u7*KoF5i8_。这当然很好,但问题在于博主自己忘记密码的事情也时常发生啊。
解决方法:密码丢失后,WordPress会给你邮箱发送密码重设链接。但如果你在注册时使用的邮箱现已不可用,或你想使用简单语句执行这个操作的话,可参考以下步骤:
- 登陆phpMyAdmin,选中你的WordPress数据库并打开SQL窗口。
- 输入以下语句(假设你的用户名是“admin”):
UPDATE `wp_users` SET `user_pass` = MD5(‘PASSWORD’) WHERE `wp_users`.`user_login` =`admin` LIMIT 1;
- 完成了!你的密码已更改成功。
注释:用户密码存储在wp_users表格中。当然,WordPress使用了MD5哈希保护密码。
我们要使用“UPDATE” SQL语句和内置的MD5() MySQL函数来把密码转化为MD5算法形式,然后更新。“WHERE”从句使系统只更新管理员的密码。不带有“WHERE”从句会导致系统更新所有的密码。
6 更改域名
问题:虽然我们并不主张这样做,但也许有时你需要在保留博客和数据的同时改变博客的域名。由于WordPress把域名存储在数据库中,所以为了把新域名和博客连接起来,你必须更改数据库。
解决方法:
- 登陆phpMyAdmin,选中你的WordPress数据库。
- 点击“SQL”,打开SQL命令窗口,输入以下命令更改URL:
UPDATE wp_options SET option_value = replace(option_value, ‘http://www.oldsite.com’, ‘http://www.newsite.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;
- 使用以下语句替代所有日志的相对URL(guid全局唯一标识符)
UPDATE wp_posts SET guid = replace(guid, ‘http://www.oldsite.com’,’http://www.newsite.com’);
- 搜索wp_posts表并替代其中的URL,以确保没有老的URL存在了:
UPDATE wp_posts SET post_content = replace(post_content, ‘http://www.oldsite.com’, ‘http://www.newsite.com’);
- 完成!现在可以使用新URL登陆WordPress控制台了。
注解:为了更快地更改WordPress域名,我选择使用超级有用的MySQL函数“replace,”,这会完全替代所有需要替代的内容。
7 在博客上显示SQL查询数量
问题:了解输入到数据库的查询数量对优化博客载入时间非常重要。为了减少查询,我们首先要知道单个页面的查询数量。
解决方法:
- 打开主题中的footer.php文件,添加以下代码:
<?php if (is_user_logged_in()) { ?>
<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.
<?php } ?>
- 保存文件,然后访问博客。在页脚,系统已经显示WordPress数据库的查询数目,及查询所用时间。
注解:许多用户似乎都不了解这个功能。get_num_queries()函数会显示页面载入时执行的查询数目。
以上代码只会对注册用户显示查询数目,因为访客和搜索引擎并不需要知道这些内容。但如果你想公开的话,直接删除if (is_user_logged_in())这个条件语句就可以了。
8 恢复WordPress数据库
问题:如果修改或升级过程或其它原因造成了博客数据的丢失或损坏,希望你有备份的数据库。这样,你可以把备份的数据库导入到数据库中以弥补损失。
解决办法:
- 登陆phpMyAdmin,选择你的WordPress数据库。
- 单击水平菜单上的“导入”按钮。
- 点击“浏览”,选择硬盘上最新备份的数据库。
- 单击“执行”。如果一切正常的话,你的数据库现在已在运行了!
添加自定义字体可以使您的WordPress网站具有独特的外观和风格。以下是在WordPress主题中添加自定义字体的步骤:
上传自定义字体文件:将您想要使用的自定义字体文件上传到您的WordPress安装目录中的 wp-content/uploads 文件夹中。确保您具有合法的许可证来使用这些字体文件。
添加自定义字体到CSS样式表:在您的主题的CSS样式表中添加对自定义字体的引用。使用正确的字体路径和字体名称,并将字体添加到适当的CSS选择器中。例如:
@font-face {
font-family: 'MyCustomFont';
src: url('uploads/my-custom-font.woff2') format('woff2'),
url('uploads/my-custom-font.woff') format('woff');
font-weight: normal;
font-style: normal;
}
应用自定义字体:在您的主题的CSS样式表中,将自定义字体应用到所需的元素上。例如:
body {
font-family: 'MyCustomFont', sans-serif;
}
更新并测试主题:保存您的更改,并更新您的WordPress主题。然后,通过访问您的网站来测试自定义字体是否按预期显示和应用。
要在WordPress主题中使用额外的JavaScript,可以按照以下步骤进行操作:
- 打开你的WordPress网站的文件管理器或使用FTP客户端进入网站的目录。
- 进入你正在使用的主题目录(通常在wp-content/themes/目录下)。
- 在主题目录中,查找一个名为"js"的文件夹,如果没有,请创建一个。
- 将你的自定义JavaScript文件(.js)上传到"js"文件夹中。
- 打开你正在使用的主题的functions.php文件。你可以在WordPress后台的外观->编辑器中找到这个文件。
- 在functions.php文件中,找到一个名为"wp_enqueue_scripts"的函数。如果没有,请在文件的末尾添加以下代码:
function enqueue_custom_scripts() { wp_enqueue_script( 'custom-script', get_template_directory_uri() . '/js/your-custom-script.js', array(), '1.0', true ); } add_action( 'wp_enqueue_scripts', 'enqueue_custom_scripts' );这段代码将注册并将自定义JavaScript文件添加到主题中。
- 将"your-custom-script.js"替换为实际的自定义JavaScript文件的名称和路径。
- 保存functions.php文件。
现在,你的自定义JavaScript文件将在WordPress主题中加载和执行。确保在JavaScript文件中编写正确的代码,并根据需要将文件放置在适当的位置。
请注意,在编辑主题文件时要小心,确保备份文件并遵循最佳实践,以免意外地破坏你的网站。
一款图片类的WordPress主题使用后,发现了一个奇怪的bug反馈,就是插入的图片无法显示?
首先确定一下获取缩略图的逻辑是wp_get_attachment_image这个函数,意义就是根据媒体ID来输出裁剪缩略图,能获取到媒体ID就可以输出该图片的缩略图;反之如果获取不到媒体ID则无法输出缩略图;
问题:为什么获取不到媒体的ID呢?
研究:发现插入到文章的图片不是全尺寸的原图文件,而是*****768x500.jpg 这样的文件;因为不是全尺寸的原图文件,所以通过attachment_url_to_postid就查不到媒体ID,所以就无法显示出缩略图了
解决:强制用户上传的图片插入到文章时,以全尺寸插入?是否问题则解决了呢?试试吧
给代码到functions.php文件里
//WordPress文章插入图片显示方式(尺寸/对齐方式/链接到)
add_action( 'after_setup_theme', 'default_attachment_display_settings' );
function default_attachment_display_settings() {
update_option( 'image_default_align', 'center' ); //居中显示
update_option( 'image_default_link_type', ' file ' ); //连接到媒体文件本身
update_option( 'image_default_size', 'full' ); //完整尺寸
}
代码都加了注释,清晰明了,经过此操作后,再插入进来的图像则自动以全尺寸出现,因为是全尺寸则可用查到媒体ID,就可以对其进行裁剪,则正常显示出裁剪后的缩略图。
WordPress默认情况下不支持上传SVG(可缩放矢量图形)图像。这是为了安全考虑,因为SVG文件可以包含恶意代码,可能对您的网站造成安全风险。然而,您可以使用以下方法来启用SVG上传和在媒体库中显示SVG图像:
- 使用插件:
您可以通过安装和激活特定的WordPress插件来启用SVG支持。一些插件可以帮助您安全地上传和管理SVG文件。在WordPress插件市场中搜索“SVG支持”,然后选择一个受信任的插件来实现这一功能。 - 自定义主题功能:
如果您具有编程技能,可以在自定义主题中添加以下代码,以启用SVG上传:// 允许上传SVG function cc_mime_types($mimes) { $mimes['svg'] = 'image/svgxml'; return $mimes; } add_filter('upload_mimes', 'cc_mime_types');- 将上述代码添加到您的主题的
functions.php文件中。这将允许您上传SVG文件。 - 注意安全性:
使用上述方法之一启用SVG上传后,请确保仅上传来自受信任来源的SVG文件,以防止潜在的安全风险。不要上传来自未知或不受信任的来源的SVG文件。 - 缓存清除:
如果您的SVG文件在上传后无法在媒体库中正确显示,请尝试清除WordPress缓存,以确保文件被正确处理和显示。
请注意,启用SVG上传可能会增加安全风险,因此请谨慎处理。确保您的网站具有良好的安全性措施,包括更新WordPress核心、插件和主题,以及定期备份您的网站数据。此外,建议仅从受信任的来源获取SVG文件以降低潜在的安全威胁。
十,8个实用的WordPress数据库技巧
近10年,MySQL数据库广受网络大众欢迎。现在,所有的WordPress博客(包括日志,设置,评论等)都由MySQL数据库支持。
虽然插件和代码修改能帮助我们解决一些问题,但有时我们也不得不用phpMyAdmin 中的SQL命令或直接通过SSH访问数据库来解决问题。这篇文章将向大家介绍对WordPress较有用的8个SQL修改。其中每个修改版块都提出了一个问题,并给出解决方案和注解。
问题:尽管本文中所有的技巧都经过测试,但是在尝试前请务必首先备份MySQL数据库。
解决方法:手动备份数据库,请按以下步骤操作:
- 登陆phpMyAdmin,选中要备份的数据库。
- 点击水平菜单上的“导出”按钮。
- 选择压缩方法(我本人使用gzip),然后单击“执行”。
- 服务器接着会询问你是否下载备份,点击“是”,然后把它存储到硬盘。
注解:使用WP-DB-Backup插件执行数据库备份非常方便。WordPress用户可以安装这个插件并定期备份数据。
2 批量删除日志修订本
问题:日志修订本是2.6的新增功能,虽然十分有用,但这也增加了MySQL数据库的负担。你当然可以手动删除修订本,但这将十分麻烦且耗时过长。
解决方法:这个解决办法非常简单。我们可以使用SQL语句批量删除日志修订本。
- 登陆phpMyAdmin,选中你的WordPress数据库。
- 单击“SQL”按钮。把以下窗口中的命令复制粘贴到SQL命令下:DELETE FROM wp_posts WHERE post_type = “revision”;
- 完成了!删除掉的日志为你腾除了大量数据库空间!
注解:wp_posts 表格包含一个名为post_type 的字段。这个字段可被赋予诸如日志,页面,修订本的值。当我们需要删除日志修订本时,只要运行wp_posts表格中相对应的修订本删除语句就行了。
3 快速删除垃圾评论
问题:我的一个朋友前不久开通博客后,一直在网上努力推广他的博客。 在他外出度假归来时,竟发现自己有5000多条评论等待审核!当然,其中多数都是垃圾广告。但他认为自己不得不逐个审核以防删除了正常评论。
解决方法:庆幸的是,他把这个问题告诉了我。当我告诉他可以使用 SQL时,他已经审核45分钟了。
- 登陆phpMyAdmin,选中你的WordPress数据库。
- 单击“SQL”按钮。把以下窗口中的命令复制粘贴到SQL命令下:
DELETE from wp_comments WHERE comment_approved = ‘0’; - 完成了!现在可以享受清洁无污染的数据库环境了!
注解:wp_comments表格中包含名为comment_approved的域,它是一个boolean值(1或0)。通过审核的评论值为1,等待审核的值为0.运行以上语句,其实就是删除还没有通过审核的评论。
此操作要谨慎执行。以上语句不仅能帮我们删除大量垃圾评论,同时也会删除无效的没有通过审核的评论。如果你还没有使用Akismet,现在就安装以打击垃圾评论吧。
4 更改日志属性
问题:管理帐户在安装WordPress时就已创建。但许多博主把这个帐户误以为就是写日志的帐号,以致到后来才发现这不是私人帐号。
解决方法:更改所有日志的作者属性要花费很多时间,但使用SQL就不用这么麻烦了。
- 登陆phpMyAdmin,选中你的WordPress数据库。
- 首先,打开SQL语句窗口,执行以下命令以获取正确的作者ID:
SELECT ID, display_name FROM wp_users; - phpMyAdmin会显示许多WordPress用户的ID。其中NEW_AUTHOR_ID是最近写日志的作者的ID, OLD_AUTHOR_ID是原始管理员的ID。
- 交换NEW_AUTHOR_ID 和 OLD_AUTHOR_ID ID后,运行以下语句:
UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID; - 完成了!以前的日志属性现在已改为你刚刚设置的了!
5 手动重设密码
问题:为了增加博客安全性,许多博主选择不易被破解的密码,如u7*KoF5i8_。这当然很好,但问题在于博主自己忘记密码的事情也时常发生啊。
解决方法:密码丢失后,WordPress会给你邮箱发送密码重设链接。但如果你在注册时使用的邮箱现已不可用,或你想使用简单语句执行这个操作的话,可参考以下步骤:
- 登陆phpMyAdmin,选中你的WordPress数据库并打开SQL窗口。
- 输入以下语句(假设你的用户名是“admin”):
UPDATE `wp_users` SET `user_pass` = MD5(‘PASSWORD’) WHERE `wp_users`.`user_login` =`admin` LIMIT 1; - 完成了!你的密码已更改成功。
注释:用户密码存储在wp_users表格中。当然,WordPress使用了MD5哈希保护密码。
我们要使用“UPDATE” SQL语句和内置的MD5() MySQL函数来把密码转化为MD5算法形式,然后更新。“WHERE”从句使系统只更新管理员的密码。不带有“WHERE”从句会导致系统更新所有的密码。
6 更改域名
问题:虽然我们并不主张这样做,但也许有时你需要在保留博客和数据的同时改变博客的域名。由于WordPress把域名存储在数据库中,所以为了把新域名和博客连接起来,你必须更改数据库。
解决方法:
- 登陆phpMyAdmin,选中你的WordPress数据库。
- 点击“SQL”,打开SQL命令窗口,输入以下命令更改URL:
UPDATE wp_options SET option_value = replace(option_value, ‘http://www.oldsite.com’, ‘http://www.newsite.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’; - 使用以下语句替代所有日志的相对URL(guid全局唯一标识符)
UPDATE wp_posts SET guid = replace(guid, ‘http://www.oldsite.com’,’http://www.newsite.com’); - 搜索wp_posts表并替代其中的URL,以确保没有老的URL存在了:
UPDATE wp_posts SET post_content = replace(post_content, ‘http://www.oldsite.com’, ‘http://www.newsite.com’); - 完成!现在可以使用新URL登陆WordPress控制台了。
注解:为了更快地更改WordPress域名,我选择使用超级有用的MySQL函数“replace,”,这会完全替代所有需要替代的内容。
7 在博客上显示SQL查询数量
问题:了解输入到数据库的查询数量对优化博客载入时间非常重要。为了减少查询,我们首先要知道单个页面的查询数量。
解决方法:
- 打开主题中的footer.php文件,添加以下代码:
<?php if (is_user_logged_in()) { ?> <?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds. <?php } ?> - 保存文件,然后访问博客。在页脚,系统已经显示WordPress数据库的查询数目,及查询所用时间。
注解:许多用户似乎都不了解这个功能。get_num_queries()函数会显示页面载入时执行的查询数目。
以上代码只会对注册用户显示查询数目,因为访客和搜索引擎并不需要知道这些内容。但如果你想公开的话,直接删除if (is_user_logged_in())这个条件语句就可以了。
8 恢复WordPress数据库
问题:如果修改或升级过程或其它原因造成了博客数据的丢失或损坏,希望你有备份的数据库。这样,你可以把备份的数据库导入到数据库中以弥补损失。
解决办法:
- 登陆phpMyAdmin,选择你的WordPress数据库。
- 单击水平菜单上的“导入”按钮。
- 点击“浏览”,选择硬盘上最新备份的数据库。
- 单击“执行”。如果一切正常的话,你的数据库现在已在运行了!
- 将上述代码添加到您的主题的

