记录日常点点滴滴,欢迎来到我的小站。

0%

说明

将函数连接到指定action(动作)。

在Plugin API/Action Reference 上查看动作hook列表。wordpress核心调用do_action() 时触发动作。

用法

1
2
3
4
<?php
add_action( $tag, $function_to_add, $priority,
$accepted_args );
?>
阅读全文 »

根据当前用户本地IP地址,查询IP地址库,获取IP所在的省市信息,目前有多种方式实现该功能。

1.调用新浪IP地址库
新浪提供了开放的IP地址库数据供开发者调用,调用地址:http://int.dpool.sina.com.cn/iplookup/iplookup.php,即可返回当前ip所在的省市信息。
我们结合本站helloweba文章:基于jQuery+JSON的省市联动效果中的省市下拉插件,来定位当前用户所在的省市,即默认状态选中的是当前用户所在的省市。

1
2
3
4
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.cityselect.js"></script>
<script type="text/javascript" src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?
format=js"></script>
阅读全文 »

1
2
3
4
5
6
7
8
9
10
function load_portfolio_slideshow() {
// 如果 portfolio-slideshow 之前已注册...
if( wp_script_is( 'portfolio-slideshow', 'registered' ) ) {
// ...取消注册...
wp_deregister_style( 'portfolio_slideshow' );
wp_deregister_script( 'portfolio-slideshow' );
// 后面根据自己需要自定义......
}
}
add_action( 'wp_enqueue_scripts', 'load_portfolio_slideshow' );

这里以portfolio slideshow这个插件为例,首先找到插件php文件中
wp_registr_script, 以及wp_enqueue_style,指定要删除的js以及CSS,在
function中添加上面的代码,替换掉要删除的部分,即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php

//get the sale price of the product whether it be simple, grouped or variable
echo $sale_price = get_post_meta( get_the_ID(), '_price', true);

//get the regular price of the product, but of a simple product
$regular_price = get_post_meta( get_the_ID(), '_regular_price', true);

//oh, the product is variable to $sale_price is empty? Lets get a variation price

if ($regular_price == ""){
#Step 1: Get product varations
$available_variations = $product->get_available_variations();

#Step 2: Get product variation id
$variation_id=$available_variations[0]['variation_id']; // Getting the variable id of just the 1st product. You can loop $available_variations to get info about each variation.

#Step 3: Create the variable product object
$variable_product1= new WC_Product_Variation( $variation_id );

#Step 4: You have the data. Have fun :)
$regular_price = $variable_product1 ->regular_price;
}

echo $regular_price;

如果在apache添加虚拟机之后,出现403(禁止访问)的网页,可以在httpd.conf文件中加入如下配置选项:

1
2
3
4
5
6
7
8
9
10
11
<Directory "/usr/local/httpd/htdocs/vpnbak">   这是虚拟机中的web根目录

Options Indexes FollowSymLinks

AllowOverride None (注:如果想apache支持.htaccess文件,则将AllowOverride None 改为AllowOverride ALL)

Order allow,deny

Allow from all

</Directory>
阅读全文 »

假如我现在的服务器ip是1.1.1.1,两个域名www.a.com和www.b.com。
www.a.com绑定到/var/www/a下.www.b.com绑定到/var/www/b下。用基于域名的方式配置虚拟主机。

1、将 http://www.a.comhttp://www.b.com 的DNS解析到你的服务器IP上。
2、删除apache的默认主机配置文件。你也不希望创建2个虚拟主机后人家还能直接访问/var/www/ 吧 ;
进入 /etc/apache2/sites-enabled/ ; 删除 000-default 文件。
3、在 /etc/apache2/sites-enabled/ 目录,创建2个文件。文件名用 a.conf 和 b.conf 。

阅读全文 »

从wordpress2.9版本开始,已经支持文章特色图像功能,极大的方便了我们开发wordpress主题的时候调用特色图像。下面二驴就详细介绍wordpress主题开发时调用特色图像的方法。
wordress默认是不开启特色图像的功能的,我们想要用该功能就需要先在function.php文件中先开启该功能,代码如下

1
2
3
if ( function_exists( 'add_theme_support' ) ) {
add_theme_support( 'post-thumbnails');
}
阅读全文 »

在主题的functions.php文件下加入以下代码:

1
2
3
4
5
//更改后台管理界面字体
function dw_admin_font(){
echo'<style>*{font-family:"Microsoft YaHei" !important;}</style>';
}
add_action('admin_head', 'dw_admin_font');

今天开始研究如何调整网站的wp后台页面,初步认知了wordpress后台首页如何添加新的挂件,并且删除掉不需要的默认模块。

其实在多数情况下,当我们登陆wordpress的后台时会显示一些插件、博客消息、评论、订阅等信息模块。多数情况下我们并不需要看到这些信息,而且在读取这些信息时会减慢后台的运行速度。因此我们可以通过自定义后台挂件删除一些不需要的模块,添加一些自定义内容的属性到后台首页中来。

一、移除不需要的挂件

将下面的代码插入到当前模板根目录的function.php文件的最下面,可以移除插件、链接、官方公告等信息。

1
2
3
4
5
6
7
function remove_dashboard_widgets(){
global$wp_meta_boxes;
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
}
阅读全文 »

按照下面的代码输入到您的function.php内即可解决这个问题。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function wp_is_mobile() {
static $is_mobile;

if ( isset($is_mobile) )
return $is_mobile;

if ( empty($_SERVER['HTTP_USER_AGENT']) ) {
$is_mobile = false;
} elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.)
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false ) {
$is_mobile = true;
} else {
$is_mobile = false;
}

return $is_mobile;
}