技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 其他 --> 15+ 实用 WordPress 技巧

15+ 实用 WordPress 技巧

浏览:1480次  出处信息

这些教程来自芒果的另一个博客 WPCN,原本打算收集一些 WordPress 奇技淫巧,不过精力有限维护不过来,予以关站处理。这里就将之前的文章综合整理下,供各位博友尽情收藏。

1、为文章页面自动添加描述信息

将以下代码粘贴到 functions.php 文件:

function create_meta_desc() {
global $post;
if (!is_single()) { return; }
$meta = strip_tags($post->post_content);
$meta = strip_shortcodes($post->post_content);
$meta = str_replace(array("\n", "\r", "\t"), ' ', $meta);
$meta = substr($meta, 0, 125);
echo "<meta name='description' content='$meta' />";
}
add_action('wp_head', 'create_meta_desc');

2、按文章分类设置固定链接

如何按文章分类设置固定链接?官方关于固定链接的文档说明了支持的各种固定连接参数:

%year% - 年
%monthnum% - 月
%day% - 日
%hour% - 时
%minute% - 分
%second% - 秒
%post_id% - 文章id
%postname% - 文章slug
%category% - 分类
%author% - 作者

所以按文章分类设置固定链接,只要使用 %category% 参数就可以了。

3、在每篇文章后自动插入自定义内容

只需将以下代码添加到 functions.php 文件,就能够在每篇文章后自动插入自定义内容。

function add_post_content($content) {
if(!is_feed() && !is_home()) {
$content .= '<p>This article is copyright &copy; '.date('Y').'&nbsp;'.bloginfo('name').'</p>';
}
return $content;
}
add_filter('the_content', 'add_post_content');

4、按评论数获取文章列表

WordPress 按评论数获取文章列表,使用以下代码来展现文章就可以了。

$pop = $wpdb->get_results("SELECT id, post_title, comment_count FROM {$wpdb->prefix}posts WHERE post_type='post' ORDER BY comment_count DESC LIMIT 10");

<ul>
foreach($pop as $post) : ?>
<li> <?php echo $post->post_title; ?> </li>
<?php endforeach; ?>
</ul>

5、无插件实现简单的 WordPress 分页功能

默认情况下,WordPress 对分页的支持非常简单,通过稍微复杂的代码就可以弥补这个不足。这个方法已经用在芒果小站的 M2 主题上咯!

将以下代码粘贴到你想显示分页的位置:

global $wp_query;
$total = $wp_query->max_num_pages;
// only bother with the rest if we have more than 1 page!
if ( $total > 1 )  {
// get the current page
if ( !$current_page = get_query_var('paged') )
$current_page = 1;
// structure of "format" depends on whether we're using pretty permalinks
$format = empty( get_option('permalink_structure') ) ? '&page=%#%' : 'page/%#%/';
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => $format,
'current' => $current_page,
'total' => $total,
'mid_size' => 4,
'type' => 'list'
));
}

6、防止 WordPress 自动压缩图片

WordPress 默认会在上传 jpg 图片时自动压缩。这有利于节省贷款,减少加载时间。假如你是个摄影爱好者,热衷于在博客上展现摄影作品的话,高质量的图片就尤其重要了,将以下代码添加到 functions.php 文件,快速禁用图片自动压缩。

add_filter('jpeg_quality', function($arg){return 100;});

7、为所有的链接添加 target=”_blank” 属性

将下面代码添加到 functions.php 文件,可以为 WordPress 博客中所有的链接添加 target=”_blank” 属性。

function autoblank($text) {
$return = str_replace('<a', '<a target="_blank"', $text);
return $return;
}
add_filter('the_content', 'autoblank');

8、自动替换 WordPress 文章中的字符

比如你的博客名称换了,你希望老的文章里同样可以更换一些文案。使用以下代码可以轻松搞定,将其拷贝至 functions.php 文件即可。

function replace_text_wps($text){
$replace = array(
// 'WORD TO REPLACE' => 'REPLACE WORD WITH THIS'
'wordpress' => '<a href="#">wordpress</a>',
'excerpt' => '<a href="#">excerpt</a>',
'function' => '<a href="#">function</a>'
);
$text = str_replace(array_keys($replace), $replace, $text);
return $text;
}

add_filter('the_content', 'replace_text_wps');
add_filter('the_excerpt', 'replace_text_wps');

9、移除 WordPress 评论中的链接

WordPress 默认会把带有链接的评论自动加上链接。这也给垃圾评论提供了滋生的土壤。

移除这些评论链接很简单,把以下代码贴到 functions.php 文件就可以了。

remove_filter('comment_text', 'make_clickable', 9);

10、WordPress 内容更新自动通知功能

想要在博客内容更新时通知所有注册会员,可以在 functions.php 文件中添加以下代码:

function email_members($post_ID)  {
global $wpdb;
$usersarray = $wpdb->get_results("SELECT user_email FROM $wpdb->users;");
$users = implode(",", $usersarray);
mail($users, "您关注的博客《芒果》有更新", '<a href="http://www.mangguo.org">点此查看该博客</a>');
return $post_ID;
}
add_action('publish_post', 'email_members');

这样做行是行,但是可能数据量大时效率会有点低下。

11、禁止 WordPress 自动保存文章

要禁用 WordPress 的自动保存功能,请编辑 functions.php 文件并添加以下代码:

function disableAutoSave(){
wp_deregister_script('autosave');
}
add_action( 'wp_print_scripts', 'disableAutoSave' );

12、创建自定义的 WordPress 数据库错误页面

将以下代码另存为 db-error.php 并且上传到 wp-content 目录,一旦发生数据库错误,WordPress 会自动使用该文件。

<?php // custom WordPress database error page

header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 600'); // 1 hour = 3600 seconds

// If you wish to email yourself upon an error
// mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");

?>

<!DOCTYPE HTML>
<html>
<head>
<title>Database Error</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
You got problems.
</body>
</html>

13、从 WordPress 管理员面板中移除菜单项

如果你想从 WordPress 管理员面板中移除菜单项,这段代码非常有用。通过它你可以隐藏不必要的菜单项,比如“插件”、“设置”等。将以下代码粘贴到 functions.php 文件即可。

function wps_admin_bar() {
global $wp_admin_bar;
$wp_admin_bar->remove_menu('wp-logo');
$wp_admin_bar->remove_menu('about');
$wp_admin_bar->remove_menu('wporg');
$wp_admin_bar->remove_menu('documentation');
$wp_admin_bar->remove_menu('support-forums');
$wp_admin_bar->remove_menu('feedback');
$wp_admin_bar->remove_menu('view-site');
}
add_action( 'wp_before_admin_bar_render', 'wps_admin_bar' );

14、更改 WordPress 管理员面板底部文字

更改管理员面板底部文字非常简单。将以下代码中的示例文字替换为你想要的,并拷贝以下代码至 functions.php 文件。

function remove_footer_admin () {
echo "我的代码";
}

add_filter('admin_footer_text', 'remove_footer_admin');

15、为 WordPress 文章自动生成 QR 二维码

将以下代码拷贝到 single.php 文件中,放置于你想要显示二维码的地方:

<img src="http://api.qrserver.com/v1/create-qr-code/?size=100x100&data=<?php the_permalink(); ?>" alt="QR:  <?php the_title(); ?>"/>

原文:http://www.mangguo.org/sunflower-bible-15-wordpress-hacks/

建议继续学习:

  1. WordPress评论翻页造成404页面的解决方案    (阅读:7901)
  2. WordPress插件开发 -- 在插件使用数据库存储数据    (阅读:5415)
  3. WordPress安全建议    (阅读:5185)
  4. WordPress插件开发--获知文章状态变化    (阅读:4374)
  5. WordPress数据字典    (阅读:4137)
  6. SEO:wordpress页面标记优化    (阅读:3582)
  7. WordPress模板的image.php    (阅读:3421)
  8. WordPress重定向漏洞    (阅读:2982)
  9. wordpress博客优化12条    (阅读:2890)
  10. SEO:wordpress相同内容网页优化    (阅读:2880)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1