wordpress站點多域名

首先DNS要指向wordpress所在IP,然後配置虛擬主機,我是複製了一份conf,修改server_name為新增加的域名如blog.newdomin.com,其他不變。然後重啟nginx就可以用兩個域名訪問同一個網站了。

如果想把鏈接中的域名也換了,則需要在wp-config.php中增加兩行:

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);

WordPress與Facebook常用代碼

在文章模板中使用jquery調用facebook總share數,用到jquery解析facebook的json數據:

<script>jQuery(document).ready(function($){
  $.getJSON("https://graph.facebook.com/?id=<?php the_permalink(); ?>", function(data){
    $('#fbCount').text(data.shares);
  });
});
</script>

關閉標籤頁的提醒彈窗(火狐下無效,Chrome下可以):

$(window).bind("beforeunload",function(event) {
    return "Don\'t forget to Like us!";
  });

給post中所有圖片註冊一次性onclick事件:

jQuery(".entry-content img").one("click",function() {fbs_click2();});

自定義按鈕實現點擊後彈出facebook分享彈框

<!--按鈕圖片,圖片採用鏈接背景的方式-->
<a onclick="javascript:fbs_click1();" href="javascript:void(0);" style="background: rgba(0, 0, 0, 0) url('https://ft.wupo.info/wp-content/uploads/2015/11/btn-fblogin.png') no-repeat scroll left center;border-radius: 5px;
color: #fff;display: inline-block;font-size: 1.3em;height: 45px;line-height: 45px;padding: 0 0 0 45px;text-align: left;">分享到FB</a>
<!--彈框js代碼-->
<script>
function fbs_click1() { u = "http://yourdomin.com/yourpage"; t = document.title; window.open('https://www.facebook.com/sharer.php?u=' + encodeURIComponent(u) + '&t=' + encodeURIComponent(t), 'sharer', 'toolbar=0,status=0,width=626,height=600'); return false; };
</script>
<!--在body關閉標籤前引入facebook代碼-->
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5&appId=1111828692192135";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

wordpress建立企業站常用函數和插件

1,常用主題函數

//移除后台默认小控件
add_action('wp_before_admin_bar_render', 'my_admin_bar_remove', 0);

function my_admin_bar_remove()
{
    global $wp_admin_bar;
    global $wp_meta_boxes;
    
    /* Remove their stuff */
    $wp_admin_bar->remove_menu('wp-logo');
    // 以下这一行代码将删除 "快速发布" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
    // 以下这一行代码将删除 "引入链接" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
    // 以下这一行代码将删除 "插件" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
    // 以下这一行代码将删除 "近期评论" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
    // 以下这一行代码将删除 "近期草稿" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);
    // 以下这一行代码将删除 "WordPress 开发日志" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
    // 以下这一行代码将删除 "其它 WordPress 新闻" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
    // 以下这一行代码将删除 "概况" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
    // 以下这一行代码将删除 "活动" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']);
}


// 添加后台小控件
add_action('wp_dashboard_setup', 'my_add_dashboard_widgets');

function my_add_dashboard_widgets()
{
    wp_add_dashboard_widget('my_dashboard_widget', // Widget slug.
'welcome', // Title.
'dashboard_widget_function') // Display function.
;
}

//Create the function to output the contents of our Dashboard Widget.
function dashboard_widget_function()
{
    echo "欢迎!<br/>请点击左侧菜单进行相应操作。";
}

// 去除后台标题中的“—— WordPress”
add_filter('admin_title', 'wpdx_custom_admin_title', 10, 2);

function wpdx_custom_admin_title($admin_title, $title)
{
    return $title . ' &lsaquo; ' . get_bloginfo('name');
}


// 去除后台的谷歌自体
add_action('init', 'remove_open_sans_from_wp_core');

function remove_open_sans_from_wp_core()
{
    wp_deregister_style('open-sans');
    wp_register_style('open-sans', false);
    wp_enqueue_style('open-sans', '');
}

// 自定义WordPress后台底部信息
add_filter('admin_footer_text', 'left_admin_footer_text');

function left_admin_footer_text($text)
{
    // 修改左侧信息
    $text = '感谢使用OKMILK销量查询系统';
    return $text;
}
add_filter('update_footer', 'right_admin_footer_text', 11);

function right_admin_footer_text($text)
{
    // 修改右侧信息
    $text = "4.6.1版本";
    return $text;
}

// 去除右上角帮助
add_filter('contextual_help', 'wpse50723_remove_help', 999, 3);

function wpse50723_remove_help($old_help, $screen_id, $screen)
{
    $screen->remove_help_tabs();
    return $old_help;
}

// 去除一般用户升级提醒
if (! current_user_can('manage_options'))
{
    // Disable Theme Updates
    remove_action('load-update-core.php', 'wp_update_themes');
    add_filter('pre_site_transient_update_themes', create_function('$a', "return null;"));
    wp_clear_scheduled_hook('wp_update_themes');
    
    // Disable Plugin Updates
    remove_action('load-update-core.php', 'wp_update_plugins');
    add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;"));
    wp_clear_scheduled_hook('wp_update_plugins');
    
    // Diasable Core Updates
    add_filter('pre_site_transient_update_core', create_function('$a', "return null;"));
    wp_clear_scheduled_hook('wp_version_check' );
}

2,插件

查看當前模板文件:安裝插件Show Current Template

修改登陸頁logo:安裝插件Custom Login Logo

去除wp頭部版本號:安裝插件Remove WP version and shortlink

维护模式:安裝插件Maintenance Mode

WordPress小版本自动升级

昨天收到邮件说这个网站的WordPress已经自动升级了!之前是3.8.1现在自动升级到了3.8.2。我有修改一些系统文件,但还好没有受到影响。查了下WordPress默认会自动进行小版本自动升级,例如从3.8.1到3.8.2这种。如果非要关闭,可以在wp-config.php中加入如下代码即可(未测试)。

define( 'AUTOMATIC_UPDATER_DISABLED', true );

修改WordPress登录页

wordpress-logo

WordPress3.7.1版本中,登录页的图片为wp-admin/images/wordpress-logo.png,尺寸是274×63,我只是把它替换成了wordpress-logo.webp。先用GIMP制作图片,但是其webp插件尚不能处理透明度,所以先导出png再用XnConvert转成webp就好了。传完后替换wp-admin/css/wp-admin.min.css中的wordpress-logo.png为wordpress-logo.webp即可。

当然了,更新版本后应该就要重新做一遍。

让WordPress支持webp图片尺寸

在主题的image.php中(推荐复制image.php到子主题再做修改),wp_get_attachment_metadata();函数后添加如下代码:

$文件 = wp_get_attachment_url();
$文件流 = fopen($文件, "rb");
$字节数组 = fread($文件流, 30);
fclose($文件流);
$数组 = unpack("C12格式/S9尺寸", $字节数组);
for($i=9;$i&lt;=12;$i++)
{
    $文件格式.=chr($数组['格式'.$i]);
}
if(0==strcmp ( 'WEBP' , $文件格式 )){//判断是否是webp格式图片
$metadata['width'] = $数组[尺寸8];
$metadata['height'] = $数组[尺寸9];
}
通用的Java和PHP代码参见:获取WebP格式图片的长宽

迁移WordPress网站

forty-two.tk的域名突然被收回了,怀疑是昨天修改了《三月六日》那篇,添加了一点介绍。现在整站搬到了ft.wupo.info,其实wordpress迁移是很简单的,记录一下。

首先在老网站备份数据库和文件。数据库就进入老网站的phpmyadmin,然后导出就行了。我一开始选的自定义导出,用了zip压缩,结果最后不能导入,所以如果大家网速快可以直接选默认导出即可。如果数据库文件很大可以下载后本地压缩成zip在导入新数据库。文件我先是用的BackWPup这个插件,但它好像没有保存插件的文件,所以后来我就直接用ftp把整站文件全部下本地了,这是个笨方法,文件多又大就不适用了可以考虑在服务器压成zip下,或者用ssh。

Continue reading