WordPress折腾笔记

1、批量删除特色图片

如何批量删除特色图片,实现方法很简单,但是需要编辑主题根目录下的 functions.php 这个敏感的文件,将下面的代码添加  functions.php 文件中:

  1. global $wpdb;
  2. $wpdb->query( "
  3.     DELETE FROM $wpdb->postmeta 
  4.     WHERE meta_key = '_thumbnail_id'
  5. " );

然后刷新下网站页面,就会执行删除。

温馨提醒:刷新完页面,检查已经删除了所有文章的特色图片后,一定一定一定要删除刚才添加的代码,否则后续你设置的特色图片都会被删除掉,而且对网站性能上也有影响!!

2、调用当前系统时间

一段显示网站运行时间的代码,保存下来,以备不时之需,也方便有需要的朋友。

时间显示格式:年+天+时+分+秒

Js代码

js代码一般放在<header>标签里面,但为了减少网页加载时间,建议放在页脚文件的</body>前。

  1. <!--网站计时-->
  2. <script>
  3.  function secondToDate(second) {
  4.  if (!second) {
  5.  return 0;
  6.  }
  7.  var time = new Array(0, 0, 0, 0, 0);
  8.  if (second >= 365 * 24 * 3600) {
  9.  time[0] = parseInt(second / (365 * 24 * 3600));
  10.  second %= 365 * 24 * 3600;
  11.  }
  12.  if (second >= 24 * 3600) {
  13.  time[1] = parseInt(second / (24 * 3600));
  14.  second %= 24 * 3600;
  15.  }
  16.  if (second >= 3600) {
  17.  time[2] = parseInt(second / 3600);
  18.  second %= 3600;
  19.  }
  20.  if (second >= 60) {
  21.  time[3] = parseInt(second / 60);
  22.  second %= 60;
  23.  }
  24.  if (second > 0) {
  25.  time[4] = second;
  26.  }
  27.  return time;
  28.  }</script>
  29. <script type="text/javascript" language="javascript">
  30.  function setTime() {
  31.  var create_time = Math.round(new Date(Date.UTC(2017, 01, 23, 11, 42, 23)).getTime() / 1000);
  32.  var timestamp = Math.round((new Date().getTime() + 8 * 60 * 60 * 1000) / 1000);
  33.  currentTime = secondToDate((timestamp - create_time));
  34.  currentTimeHtml = '本站与Jane不离不弃已有:' + currentTime[0] + '年 ' + currentTime[1] + '天 '
  35.  + currentTime[2] + '时 ' + currentTime[3] + '分 ' + currentTime[4]
  36.  + '秒';
  37.  document.getElementById("htmer_time").innerHTML = currentTimeHtml;
  38.  } setInterval(setTime, 1000);
  39. </script>

调用代码

将以下代码放在你希望显示的地方。

  1. <span id="htmer_time" "></span>

3、控制内容只在首页/内容页/单页显示方法

有些时候特别的展示需要,我们需要WordPress在某个位置非全站显示内容,这里我们可以用到判断语句来调用内容。比如我们有些内容需要在首页显示,不需要在内容页显示,或者我们需要在单页显示,甚至只需要在内容页显示,这个应该如何设置呢?

第一、只在首页显示

<?php if (is_home ()) : ?>
//显示内容
<?php endif; ?>

第二、只在内容页显示

<?php if (is_single() ) : ?>
//显示内容
<?php endif; ?>

第三、只在单页中显示

<?php if (is_paged() ) : ?>
//显示内容
<?php endif; ?>

是不是很简单?

4、上传媒体文件时自动重命名

代码一,按时间重命名

上传文件时会以“年月日时分秒+千位毫秒整数”的格式重命名文件,如“20161023122221765.jpg”

  1. //上传文件重命名
  2. function git_upload_filter($file) {
  3.     $time = date("YmdHis");
  4.     $file['name'] = $time . "" . mt_rand(1, 100) . "." . pathinfo($file['name'], PATHINFO_EXTENSION);
  5.     return $file;
  6. }
  7. add_filter('wp_handle_upload_prefilter', 'git_upload_filter');

源代码:http://www.lmlblog.com/2147.html

代码二,用MD5加密生成数字并重命名

名称规则是由系统自动生成的一个32位的MD5加密文件名,由于默认生成的32位文件名有点长,所以使用substr(md5($name), 0, 20) 截断将其设置为20位。

  1. function rename_filename($filename) {
  2.     $info = pathinfo($filename);
  3.     $ext = emptyempty($info['extension']) ? '' : '.' . $info['extension'];
  4.     $name = basename($filename$ext);
  5.     return substr(md5($name), 0, 20) . $ext;
  6. }
  7. add_filter('sanitize_file_name', 'rename_filename', 10);

源代码:http://www.boke8.net/wordpress-auto-rename-file.html

使用方法

将代码添加到当前主题functions.php模板文件中即可。

以上代码,很方便,节省时间。