当前位置:首页» 乱折腾事
零分 2018.12.26 电脑 , 87 读 0 评
今天装了一台XP的电脑,同步时间时却出错,百度了一下,原因是window time 没有启动,就启动了下window time服务 启动方法:运行–services.msc–找到 window time 启动 启动之后,发现依旧无法同步时间,改了阿里云的时间服务器,还是出现同步出错 阿里云时间服务器: time.aliyun.com,time1.aliyun.com,time2.aliyun.com,time3.aliyun.com,time4.aliyun.com,time5.aliyun.com,time6.aliyun.com,time7.aliyun.com 尝试了很久,最后发现,原因是日期不对,日期要调到时,才可以同步
零分 2018.12.19 WordPress , 141 读 0 评

零分 2018.05.24 WordPress , , 428 读 0 评
一般来说,WordPress后台的菜单不会太多,不过,一些企业站,商城站,之类的可能会有很多分类,很多菜单,折叠起来,看着就比较清爽的多了!也方便的多了! 没有折叠起来,是非常非常长的! 折叠伸缩起来,就不一样了,也方便管理!插件安装号后无需设置! 插件下载地址:Menu_Management_Enhancer_for_WordPress  
零分 2018.05.23 WordPress , , 526 读 0 评
WordPress多级菜单设置很简单,几乎所有的主题都会有菜单设置选项 但是,设置的多级菜单能利用CSS控制的样式,三级以上就不好控制,查看源码,二级及以上ul的class都是sub-menu,想要通过添加CSS来操作三级以上的菜单样式,是比较累的。好在可以通过Walker_Nav_Menu函数来控制ul的class样式,在function.php中插入以下函数 /** * Header_Menu_Walker类 * 这类名当然你随意了 */ class Header_Menu_Walker extends Walker_Nav_Menu { /** * start_lvl函数 * 这函数主要处理ul,如果ul有一些特殊的样式,修改这里 * 他这里面的$depth就是层级,一级二级三级 * $args是上面wp_nav_menu()函数定义的那个数组 * */ function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = ( $depth > 0 ? str_repeat( "\t", $depth ) : '' ); // 缩进 $display_depth = ( $depth + 1); // 层级默认是0级,这里+1为了从1开始算 $classes = array( 'sub-menu', //ul是个子菜单的时候,添加这个样式 ( $display_depth % 2 ? 'menu-odd' : 'menu-even' ), //子菜单奇数加样式menu-odd,偶数加样式menu-even ( $display_depth >=2 ? 'sub-sub-menu' : '' ), //三级菜单的时候,添加这个样式 'menu-depth-' . $display_depth, //这样式主要能看出当前菜单的层级,menu-depth-2是二级呗 ); $class_names = implode( ' ', $classes ); //用空格分割多个样式名 $output .= "\n" . $indent . '' . "\n"; //把刚才定义的,那么多的样式,写到ul里面 } /** * start_el函数 * 主要处理li和里面的a * $depth和$args同上 * * @param string $output Passed by reference. Used to append additional content. * @param object $item Menu item data object. * @param int $depth Depth of menu item. Used for padding. * @param array $args An array of arguments. @see wp_nav_menu() * @param int $id Current item ID. */ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { global $wp_query; $indent = ( $depth > 0 ? str_repeat( "\t", $depth ) : '' ); // 缩进 // 定义li的样式 $depth_classes = array( ( $depth == 0 ? 'main-menu-item' : 'sub-menu-item' ), //一级的li,就main-menu-item,其余全部sub-menu-item ( $depth >=2 ? 'sub-sub-menu-item' : '' ), //三级的li,添加这个样式 ( $depth % 2 ? 'menu-item-odd' : 'menu-item-even' ), //奇数加样式menu-item-odd,偶数加样式menu-item-even 'menu-item-depth-' . $depth, //层级同上 ); $depth_class_names = esc_attr( implode( ' ', $depth_classes ) ); $classes = empty( $item->classes ) ? array() : (array) $item->classes; $class_names = esc_attr( implode( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) ) ); //这句我没看懂,不知道是在干啥 // 把样式合成到li里面 $output .= $indent . ''; // 处理a的属性 $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; $attributes .= ' class="menu-link ' . ( $depth > 0 ? 'sub-menu-link' : 'main-menu-link' ) . '"'; //添加a的样式 $item_output = sprintf( '%1$s%3$s%4$s%5$s%6$s', $args->before, $attributes, $args->link_before, apply_filters( 'the_title', $item->title, $item->ID ), $args->link_after, $args->after ); //上面这个item_output我要说一下。这里写的有点死。 //如果一级菜单是我是菜单 //然而其他级菜单是我是菜单 //这样的情况,$args->link_before是固定值就不行了,要自行判断 //$link_before = $depth == 0 ? '' : ''; //$link_after = $depth == 0 ? '' : ''; //类似这个意思。 $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } } 另附一段显示菜单描述的函数 function start_el(&$output, $item, $depth, $args) { global $wp_query; $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; $class_names = $value = ''; $classes = empty( $item->classes ) ? array() : (array) $item->classes; $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) ); $class_names = ' class="' . esc_attr( $class_names ) . '"'; $output .= $indent . ''; $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; $item_output = $args->before; $item_output .= ''; $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; $this_item_description.=''; $this_item_description_all=explode('+',$item->description); foreach($this_item_description_all as $this_item_description_all){ $this_item_description_one=explode('|',$this_item_description_all); $this_item_description.=''.$this_item_description_one[1].''; } $item_output .= '' . $this_item_description . ''; $item_output .= ''; $item_output .= $args->after; $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } 这样,用css控制就比较好控制了,不同级别的ul样式class是不一样的!
零分 2018.05.22 代码 , , 1,348 读 0 评
突然突然突然,觉得做一个京东联盟API调用,也许,在微信QQ等场景是不会有被屏蔽的现象。 于是于是于是,就去研究了下京东联盟API,看着一堆接口,描述的确挺不错的,实际返回内容,可能不是你想的那样。。。 另外另外另外,京东联盟的API调用是需要一个token授权的,而且,这个token授权还需要登陆京东账户的,好在这个token的有效期是1年,在1年内,登陆一次就好!据说,修改过京东账户密码,是需要重新获取一次的! 好吧好吧好吧,那就来获取token授权码,想获取token,先得获取code,通过code,再获取token! 先看下官方说明: 再看下获取授权码的API请求链接: https://oauth.jd.com/oauth/authorize?response_type=code&client_id=YOUR_CLIENT_ID& redirect_uri=YOUR_REGISTERED_REDIRECT_URI&state=YOUR_CUSTOM_CODE 对着参数列表,链接是这样的! https://oauth.jd.com/oauth/authorize?response_type=code&client_id=你的Appkey& redirect_uri=你的回调URL&state=随意写 改好后,复制黏贴到浏览器打开,就是一个授权登陆,登陆之后自动跳转到回调地址,参数中带有code值! 通过code值获取token,获取token值请求地址: https://oauth.jd.com/oauth/token?grant_type=authorization_code&client_id=你的Appkey& redirect_uri=你的回调URL&code=刚刚获取的code&state=随意写&client_secret= 你的appSecret 复制到浏览器打开,就可以获得需要的token。 另外,有一个叫做Refresh token的刷新token来延迟Access token的时效,也就是,如果获取一次,可以在有效期内延长时间,比如计划! 获取了Access token之后,就可以使用API接口了! 最后,只想说,京东联盟的API,始终没有阿里妈妈API来的方便! 参考官方文档:http://jos.jd.com/doc/channel.htm?id=152
零分 2018.05.12 WordPress , 387 读 0 评
原本计划一周完成的一个模板,陆陆续续的花了好几个星期的时间,算是第一次写的博客主题,没有亮点,只是平凡简单的自用博客主题 顺便写了一个无线端CSS,通过PHP判断是否为无线,无线时调用无线CSS,感觉字体设置的太小了 主题后台有个简单的设置项。自用还算习惯!
零分 2018.05.05 编程 , 1,299 读 0 评
宝塔Linux无法安装32位问题,记录一下: vi install.sh,删除以下代码 if [ "$is64bit" = '32' ];then echo '================================================='; echo -e "\033[31m BT-Panel Incompatible 32 bit OS. \033[0m"; exit; fi :wq,保存退出,重新运行sh install.sh,即可安装
零分 2018.04.25 WordPress , , 511 读 0 评
WordPress主题通过注册多个小工具让整站都可以通过后台小工具布局 1、注册多个小工具 if ( function_exists('register_sidebar') ) register_sidebar(array( 'name'=>'侧边栏布局', 'before_widget' => '', 'after_widget' => '', 'before_title' => '', 'after_title' => '', )); if ( function_exists('register_sidebar') ) register_sidebar(array( 'name'=>'主页布局', 'before_widget' => '', 'after_widget' => '', 'before_title' => '', 'after_title' => '', )); 效果: 2、添加小工具,如文章目录、文章评论等 class val extends WP_Widget{ function val(){ //这是定义小工具信息的函数,也是类的构建函数 } function form($instance){ //如果之前没有数据的话,设置两个默认量 $instance = wp_parse_args((array)$instance,array( 'title'=>'','orderby'=>'','order'=>'' )); //输出后台小工具表单 echo $output; } function update($new_instance,$old_instance){ $instance = $old_instance; //数据处理 return $instance; } function widget($args,$instance){ extract($args); //前台显示 echo $after_widget; } } function val(){ //注册小工具 register_widget('val'); } //widges_init,小工具初始化的时候执行val函数, add_action('widgets_init','val'); 3、将模块拖入到对应的面板 前台调用小工具: dynamic_sidebar( '侧边栏布局' ); 将所有的函数全部都封装到小工具里,实现通过拖动来自定义WordPress主题的布局
零分 2018.04.21 编程 , , 1,043 读 0 评
好久没有打理过公众号了,最近又想着从新整理下,订阅号,无法设置菜单,想着关注后就能直接说明下公众号支持的指令,直接用text,太长了,就想着通过关注后以图文消息形式回复指令操作大全。 效果: 思路,修改关注后回复的消息形式,默认是text,修改成图文形式news。 修改: "is_add_friend_reply_open": 1, "is_autoreply_open": 1, "add_friend_autoreply_info": { "type": "text", "content": "Thanks for your attention!" }, 为: "is_add_friend_reply_open": 1, "is_autoreply_open": 1, "add_friend_autoreply_info": { "type": "news", "news_info": { "list": [ { "title": "it's news", "author": "jim", "digest": "it's digest", "show_cover": 1, "cover_url": "封面", "content_url": "链接", "source_url": "原文" } ] } }, 将关注后自动回复的消息text改为图文形式。 官方接口说明:获取公众号的自动回复规则 测试公众号,搜索:豆芽菜园
零分 2018.04.17 WordPress , , 304 读 0 评
自从找了一份正经的工作之后,就一直都没有去管这个博客,看了下日期,似乎有一年没有去写过了。 不知道从什么时候开始,博客打开的加载速度一直很慢,期间也找过原因,比如删除谷歌字体。 然,一直都无法解决这个很慢的问题。 最近,感觉这个主题的确挺老的了,打算重写一个博客主题,参考下了代码 发现一段百度链接,而这段百度链接似乎很早以前就无法访问了。 这段是无线端打开跳转到百度无线适配的,也不知道什么时候开始,百度竟然无法打开了。 抱着试试的态度,试着删除这段JS,打开终于正常了!
TOP