芒果小站

  1. 全球最具业界良心的主机 - Linode

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - Linode

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - Linode

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
9

葵花宝典:15+ 实用 WordPress 技巧

作者 芒果/分类 教程/发布于 2012-08-05 00:01

这些教程来自芒果的另一个博客 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(); ?>"/>
版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/sunflower-bible-15-wordpress-hacks/" title="葵花宝典:15+ 实用 WordPress 技巧" rel="bookmark">葵花宝典:15+ 实用 WordPress 技巧 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 9 条群众意见

  1. 蚂蚁在线 /2012-08-05 14:44

    很喜欢这个主题,哈哈 回应

    #1
  2. 美国VPS /2012-08-06 01:19

    精辟。。收藏了。。 回应

    #2
  3. 向日葵媒体设计 /2012-08-06 10:01

    板凳,有事想找还要网上搜一下。 回应

    #3
  4. 未解之谜 /2012-08-15 14:48

    学习了,强大啊 回应

    #4
  5. TekTea /2012-08-19 22:33

    不错,mark之。。。
    不过最后一个网站二维码,这个到底有啥用呢? 回应

    #5
  6. 小奕 /2012-08-30 14:32

    果然是葵花宝典啊。。 回应

    #6
  7. ?
    15+ 实用 WordPress 技巧 /2012-09-24 14:52

    […] 本文转自:via […] 回应

    #7
  8. 电影下载 /2012-10-03 19:25

    其实替换字词的还是比较有用处的! 回应

    #8
  9. ?
    葵花宝典:15+ 实用 WordPress 技巧 – I YOU YOU I /2013-08-18 09:03

    […] 本文转载自 葵花宝典:15+ 实用 WordPress 技巧 | 芒果小站 […] 回应

    #9

下面我简单说几句