财商书苑
全民财商训练提升,认真负责我们的每句话

wordpress 使用自定义栏目 向指定位置 添加链接或代码功能

wordpress 使用自定义栏目 向指定位置 添加链接或代码功能

在指定的位置、特殊页面添加js链接,或者js脚本,或css链接或css脚本等。

代码如下:

 

使用方法:把以下代码贴到functions.php文件里头,

在 head.php 文件里头<?php  add_js_css(“header”);?>

在footer.php 文件里头<?php add_js_css(“footer”);?>

在自定义栏目里头: 添加名称为js_uri , js_code等 的栏目即可。

 

需要增加,只需在指定位置(比如footer)添加一个名称字段(比如hack_css)然后实现自己的处理内容的方法就OK了。

 

好了,回家吃法去。

#########以下是代码区域

/**
*
*$position 为期望输出的位置,自定义(比如:当满足该位置时,用户可添加特有的动作。)
*
*每添加一个自定义类型,用户必须实现一个含有两个参数的同名函数
*
*比如js_uri($data,$position)
*
*$data 为用户自定义栏目的名称(比如js_uri)
*
*
*/

function add_js_css($position){
$positions = array(
‘header’ => array(‘js_uri’, ‘css_uri’, ‘js_code’, ‘css_code’),    //用户允许的自定义类型
‘footer’ => array(),
‘other’     => array()
);

$allowed_types = array_key_exists($position, $positions) ? $positions[$position] : ”;            //取得允许输出的位置
if(empty($allowed_types) || !is_array($allowed_types)) return;            //期望得到一个非空数组,否则就不进行任何处理

$data = get_post_custom();    //取得所有自定值
$customs = array_intersect_key($data, array_flip($allowed_types));    //所有值与允许值取交集

foreach(array_keys($customs) as $method){
if(function_exists($method)) $method($customs[$method], $position);            //调用允许值的自定义函数 参数:字段的内容和允许出现的位置
}

}

function js_uri($data, $position){    //特定位置可以拥有特定的输出方法,目前用不到
if(empty($data)) return;
if(is_array($data)){
foreach($data as $key=>$value){
echo ‘<script type=”text/javascript” src=”‘.$value.'”></script>’;
}
}else{
echo ‘<script type=”text/javascript” src=”‘.$value.'”></script>’;
}
}
function js_code($data, $position){
if(empty($data)) return;
if(is_array($data)){
foreach($data as $key=>$value){
echo ‘<script type=”text/javascript”>’.$value.'</script>’;
}
}else{
echo ‘<script type=”text/javascript”>’.$value.'</script>’;
}
}
function css_uri($data, $position){
if(empty($data)) return;
if(is_array($data)){
foreach($data as $key=>$value){
echo ‘<link rel=”stylesheet” type=”text/css” href=”‘.$value.'” />’;
}
}else{
echo ‘<link rel=”stylesheet” type=”text/css” href=”‘.$value.'” />’;
}
}
function css_code($data, $position){
if(empty($data)) return;
echo ‘<style type=”text/css”>’;        //将结果放到一个<style type=”text/css”></style> 还是多个标签中,看个人喜欢
if(is_array($data)){
foreach($data as $key=>$value){
echo $value;
}
}else{
echo $value;
}
echo ‘</style>’;
}

 

P.S. 欢迎转载,请保留出处,谢谢。

赞(0)
未经允许不得转载:财商书苑-全民财商训练提升 » wordpress 使用自定义栏目 向指定位置 添加链接或代码功能

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址