wordpress Filter可以替换的东东

0 个评论
http://codex.wordpress.org/Plugin_API/Filter_Reference
2014-05-28 / wordpress / 2,296 views浏览
阅读全文

扩展WordPress分类,添加可视化自定义字段功能

0 个评论
原来我是用插件的 叫wp-category-meta,不过发现他貌似没有调用编辑器的选项 于是上网找了一下,ashu的框架介绍里说是可以添加 不过我不知道具体参数,网上也找不到相关资料 所以只好又找其他的,发现了http://www.oome.org/tax-meta-class.html 里面引用了一个类,可以实现我想要的功能 这个类实际是老外写的 https://github.com/bainternet/Tax-Meta-Class
2014-05-13 / wordpress / 2,295 views浏览
阅读全文

wp_nav_menu 函数经Walker_Nav_Menu 类自定义导航菜单HTML

0 个评论
WordPress 中有一个导航菜单函数wp_nav_menu,通过这个函数可以控制菜单输出的HTML 结构,一般开发者用这个函数的一般是在输出HTML 中自定义一些id 或者class 而已,整体的HTML 结构还是WordPress 默认的。项目的需求是各种各样的,了解如何自定义导航菜单HTML 结构就十分重要了。 wp_nav_menu 函数 囿于篇幅,本文不会教你怎么使用wp_nav_menu 函数,请自行补习。通过设置wp_nav_menu 的参数,前台输出的HTML 结构大概都是这样的(为了简洁,去除了一些id、class):   <nav> <div class=""> <ul id="" class=""> <li id="" class=""><a href="">首页</a></li> <li id="" class=""><a href="">存档</a></li> <ul class="sub-menu"> <li><a href="">WP开发</a></li> <li><a href="">WP开发</a></li> </ul> <li id="" class=""><a href="">学习</a></li> </ul> </div> </nav> 这个默认的菜单HTML 结构有非常大的限制(比如说我想在每个li前面添加个标签办不了,一些class的名称也定义不了),如果只这么用根本不能适应各种各样的项目需求,好在WordPress 提供了一个类Walker_Nav_Menu ,通过这个类我们可以自定义HTML 结构。 Walker_Nav_Menu 的用法(例子) wp_nav_menu 函数中有个参数 $walker,“自定义的遍历对象,调用一个对象定义显示导航菜单。”,默认调用的是Walker_Nav_Menu (其实输出默认结构的就是这个在作怪,位于wp-includes/nav-menu-templates.php)。为了能够自定义HTML 结构,你必须打开wp-includes/nav-menu-templates.php,查看默认的代码,搞清楚与前端输出代码的关系,并在其基础上修改,然后自定义为新的一个类供wp_nav_menu 函数调用。 例子: 比如说WordPress 中输出二级菜单的话,ul 中类名默认是sub-menu,那我想改为child-menu,怎么办? 步骤: 打开wp-includes/nav-menu-templates.php,找到产生ul class="sub-menu"的代码:   function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "\n$indent<ul class=\"sub-menu\">\n"; } 那么根据我的需求,代码应该改成是:   function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "\n$indent<ul class=\"child-menu\">\n"; } 准确来讲,整体的类的代码应该是(dw_walker这个类名是自己取的,请自行定义): class dw_walker extends Walker_Nav_Menu { function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "\n$indent<ul class=\"child-menu\">\n"; } } 然后在wp_nav_menu 函数中调用这个自定义的类:   <?php wp_nav_menu( array( 'theme_location' => 'mobilemenu', 'walker' => new dw_walker(), 'fallback_cb' => '' ) ); ?> 上诉只是举了个简单的例子来告知Walker_Nav_Menu 类的使用,实际项目中肯定不单单那么简单的,这么来讲,除了基本的WordPress 知识、html+CSS,还需要一些PHP 知识。 更多例子的话,最近发布EaseMobile 主题在导航栏上的图标设置就是采用了Walker_Nav_Menu 类自定义输出。
2014-05-13 / 生活 / 2,670 views浏览
阅读全文

WordPress自带thumbnail缩略图功能使用介绍(转)

0 个评论
从wordpress2.9开始就可以使用自带的缩略图功能了,实现方法也很简单 1.添加功能 在function.php中插入代码 add_theme_support('post-thumbnails'); 插入之后会在后台编辑文章的页面的右下角出现特色图片,(有的版本可能是或者是文章缩略图) 点击设定特色图像后出来的就是和插入图片相同的界面,但是仔细看会发现在本地上传图片后,或者从媒体里打开文件下面会多了作为特色图像的选项 点击后等它显示完成便可以把小窗口关掉了~ 2.如何调用 在要显示的 地方加入代码 <?php the_post_thumbnail(); ?> 既可以调用,例如插入入在首页的大循环中。 3.后续改进 (1)如果没有缩略图时调用其他图片 复制代码 代码如下: <?php if ( has_post_thumbnail() ) { ?> <?php the_post_thumbnail(); ?> <?php } else {?> <img src=”<?php bloginfo(‘template_url’); ?>/images/xx.jpg” /> <?php } ?> 把下面的那个改成你自己图片的地址就可以了~ (2)控制缩略图大小 在function.php中刚刚插入的add_theme_support( ‘post-thumbnails’ ); 后面添加 复制代码 代码如下: set_post_thumbnail_size( 50, 50, true ); 尺寸的设置顺序是: 宽度、高度(以像素为单位) (3)一张图片,要有多种大小的缩略图 在function.php中刚刚插入的add_theme_support( ‘post-thumbnails’ ); 后面添加 复制代码 代码如下: set_post_thumbnail_size( 155, 110, true ); // 305 pixels wide by 380 pixels tall, set last parameter to true for hard crop mode add_image_size( ‘one’, 155, 110, true ); // Set thumbnail size add_image_size( ‘two’, 350, 248, true ); // Set thumbnail size add_image_size( ‘big’, 546, 387, true ); // Set thumbnail size 其中第一个为默认的缩略图大小,后面三个是特殊的大小,可以根据实际情况使用。引号中的one,big,two也可以换成自己想要的名称。 调用,以调用350px*248px的为例, 复制代码 代码如下: <?php $thumbID = get_the_post_thumbnail( $post->ID, ‘two’, $imgsrcparam ); ?> <?php echo “$thumbID”; ?>配合之前的那个,最后的代码就是: <?php if ( has_post_thumbnail() ) { ?> <?php $thumbID = get_the_post_thumbnail( $post->ID, ‘two’, $imgsrcparam ); ?> <?php echo “$thumbID”; ?><?php } else {?> <img src=”<?php bloginfo(‘template_url’); ?>”/> <?php } ?>
2014-05-11 / wordpress / 2,454 views浏览
阅读全文

wordpress页脚菜单添加分割线

0 个评论
找到好久才找到这个好东西 貌似采用这个Walker,翻译成“处理流程”可能比较好 第一步,在菜单处理流程里添加分割线 class Main_Menu_Walker extends Walker_Nav_Menu{ function end_el( &$output, $item, $depth = 0, $args = array() ) { $output .= "</li>\n"; if ($depth == 0) $output .="<li class='separator'>|</li>\n"; } }   然后就可以使用li:last-child把最后一个分割线隐藏,当然也可以用另外一个办法,就是加过滤器 function menu_remove_last_separator($items){ $separator = "<li class='separator'>|</li>"; $pos = strrpos($items, $separator); if ($pos) $items = substr_replace($items, '', $pos, strlen($separator)); return $items; } add_filter( 'wp_nav_menu_items','menu_remove_last_separator');   最后就是在wp_nav_menu中使用这个处理流程了,例子如下 wp_nav_menu(array( 'theme_location' => 'navigation', 'container' => false, 'menu_class' => 'inline', 'walker' => new main_menu_walker() ) );
2014-05-07 / wordpress / 2,731 views浏览
阅读全文

wordpress首尾Widgets加CSS样式

0 个评论
奶奶的,我找了老半天才找到这段代码,我放在functions.php里,运行正常 他还有个功能,每个widget都有自己的编号了,比如("widget-1", "widget-2", 等等). 这样就好写样式了 /** * Add "first" and "last" CSS classes to dynamic sidebar widgets. Also adds numeric index class for each widget (widget-1, widget-2, etc.) */ function widget_first_last_classes($params) { global $my_widget_num; // Global a counter array $this_id = $params[0]['id']; // Get the id for the current sidebar we're processing $arr_registered_widgets = wp_get_sidebars_widgets(); // Get an array of ALL registered widgets if(!$my_widget_num) {// If the counter array doesn't exist, create it $my_widget_num = array(); } if(!isset($arr_registered_widgets[$this_id]) || !is_array($arr_registered_widgets[$this_id])) { // Check if the current sidebar has no widgets return $params; // No widgets in this sidebar... bail early. } if(isset($my_widget_num[$this_id])) { // See if the counter array has an entry for this sidebar $my_widget_num[$this_id] ++; } else { // If not, create it starting with 1 $my_widget_num[$this_id] = 1; } $class = 'class="widget-' . $my_widget_num[$this_id] . ' '; // Add a widget number class for additional styling options if($my_widget_num[$this_id] == 1) { // If this is the first widget $class .= 'widget-first '; } elseif($my_widget_num[$this_id] == count($arr_registered_widgets[$this_id])) { // If this is the last widget $class .= 'widget-last '; } $params[0]['before_widget'] = str_replace('class="', $class, $params[0]['before_widget']); // Insert our new classes into "before widget" return $params; } add_filter('dynamic_sidebar_params','widget_first_last_classes');
2014-05-06 / 生活 / 2,207 views浏览
阅读全文

centos6.5装好后的操作,避免自己忘记记录一下

0 个评论
Su 用户名 切换用户(直接用”su”这个命令,输入密码就可以是管理员权限了) 然后更新源 1. cd /etc/yum.repos.d 2. mv CentOS-Base.repo CentOS-Base.repo.backup 3. wget http://mirrors.163.com/.help/CentOS6-Base-163.repo 4. mv CentOS6-Base-163.repo CentOS-Base.repo 5.yum clean all 然后安装SSH 1,安装SSH yum install ssh 2,启动SSH service sshd start 3,设置开机运行 chkconfig sshd on Ifconfig 查看连接信息(我用虚拟机安装的,需要查看虚拟机分配到了什么IP) 然后就可以通过putty在其他系统下进行管理了
2014-04-26 / centos / 2,449 views浏览
阅读全文

奇怪的现象,难道电信光猫里的URL过滤使用正则的

0 个评论
我喜欢在路由里屏蔽一些自己不喜欢的站 小米这个垃圾公司一直欺骗人民群众 所以我就屏蔽了 最近他推出了新的域名mi.com,我在落伍看到的 然后我也在路由里屏蔽了 然后上网的时候发现网速就很慢了~ 比如打开淘宝,以前都是2~3秒打开,屏蔽后就一直在载入,30秒都开不了 然后我突发奇想把路由里的URL过滤关掉,发现竟然秒开了 然后我检查了一会,发现一屏蔽mi.com,网页就难打开 然后我想到了一个问题,会不会光猫里的这个URL过滤是正则的,字母越短或者域名越短 他就要努力地去匹配,导致处理芯片资源消耗过高,然后就出现网速慢,无法打开网页的尴尬境地
2014-04-26 / 生活 / 2,743 views浏览
阅读全文

受不了酷我音乐了

0 个评论
放了半小时音乐,用世界之窗浏览天猫,然后觉得卡卡的,还以为是chrome的通病不清缓存。 迫不得已关了世界之窗,开了火狐,结果还是那鸟样。 顿时疑惑起来,还有哪个垃圾软件那么占资源? 除了杀毒,就开了个QQ和酷我,然后我把酷我一关。 回到火狐,速度杠杠的了。 唉,一个放音乐的软件也能让电脑卡成那样,服了 然后下了个千千静听听歌,还是老软件好,新软件像个卵样,就知道广告广告广告
2014-04-20 / 生活 / 2,223 views浏览
阅读全文

根据栏目网址判断当前栏目

0 个评论
    //这个方法针对/xxx.html有用 $(document).ready(function () {     $(".nav>ul>li").each(function (index) {         var strs = new Array();         strs = window.location.href.split("/");         var http = strs[(strs.length) – 1];//获取最后一个“/”的地址         var liValue = $(".nav ul li").eq(index).children().attr("href").substr(0, 3);//获取菜单项链接的前4个字符         if (http.indexOf(liValue) >= 0) {//用包含比较是否相同             $(".nav ul li").removeClass("n-hover");             $(".nav ul li").eq(index).addClass("n-hover");         }         $(this).click(function () {             $(".nav ul li").removeClass("n-hover");             $(".nav ul li").eq(index).addClass("n-hover");         });     }); });         // nav         $(function shownav() {             var a1 = window.location.href;//当前url地址             var a2 = $(".nav>ul>li");//菜单的项">"为选取第一层,不考虑嵌套             var strs = new Array();             strs = a1.split("/");             for (var i = 0; i < a2.length; i++) {                 if ($(a2[i]).children().attr("href") == strs[(strs.length) – 1]) {//菜单项的地址是否等于当前链接 也没考虑最后是/的情况                     $(a2[i]).addClass("n-hover");                     return;                 }             }         })
2014-03-02 / 网站制作技术 / 2,389 views浏览
阅读全文