你问我答

你是否有关于WordPress方面的问题呢?尽管在这里提出,我将尽我所能帮你解决。

是的,完全免费。

134 Responses to “你问我答”

  1. Ariagle says:

    查询指定日期范围内的日志,然后按他们的访问次数由高到低排列,输出。我的意思是这个。
    还没看wp-postviews是怎么写的,不知行不行。不过再已有此插件的基础上另外再写一个扩展,应该没问题。

  2. Ariagle says:

    哈,就是这种,可自定义时间范围,可widget

    • 冰古 says:

      Ariagle,
      Sorry,我最近比较忙,不能专心去弄这个插件,暂时是做不了了。
      你可以参考一下wp-postviews的代码和上面提到的SQL,自己弄一个吧。
      抱歉抱歉。

  3. Ariagle says:

    没问题。虽说我也很忙…

  4. 冰古老师,想请教您个问题,wordpress有没有搬家工具啊?就像现在的网易博客直接就能把新浪的搬过来那种,不是要导入导出XML那种。我从新浪搬到网易了,里面也有几百个贴子了,想搬到WP来。请冰古老师帮我解答一下,谢谢了啊!

  5. 。。。
    刚才没发上去
    再写一遍,呵呵
    冰古老师,记得你写过一个大巴导WP的软件,年前试过,可能是版本问题,当时没导进去,现在想再试试,找不到地址了,请冰古老师帮我再贴下地址吧。
    非常喜欢WP,过年买了个HM的空间,他能自动装WP,可惜现在登不上去了,非要用代理才能上,冰古老师用的什么空间,速度好快啊,准备换空间了

    • 冰古 says:

      那个程序你可以在冰古blog查看,不过不一定能成功。或许你测试不成功,可以把备份发给我,我有空的时候帮你转。Email看介绍

      hm的空间,看你的情况应该是被功夫网了,你可以联系他们购买独立IP或者试试问他们看能不能换个服务器。我现在用的空间是vexxhost.com

  6. 谢谢冰古老师及时回答,我研究一下试试,不行再麻烦你。
    说到空间,我到主机侦探问了,说我的IP被封了,刚买过来没几天就封过一次了,现在又封了,都没用过,也不可能有什么违法内容,愁死我了,看来还得花200多再买个独立IP了,不然600大洋就浪费了,希望不会再出现其它情况。
    谢谢冰古老师了,我有不懂的再麻烦你,希望你不闲我烦就行,呵呵。!!!

    • 冰古 says:

      因为是虚拟主机嘛,很多人用同一个IP,有一个碰到功夫网,在这个IP下的空间都不能访问了。你可以看看我说的那个空间,买独立IP也只不过是三百多。一般来说没什么问题,我都用了一年多了。

      你问了,只有我能答的上的,我都会帮你答上。我答不上的,应该也能出出意见吧。 :mrgreen:

  7. […] 也许玩嘀咕的朋友都知道嘀咕有很多很猛的插件,比如我最喜欢的嘀咕火兔。当然官方也有插件(嘀咕秀)可以实现这个显示,但那插件是只能通过flash、图片和JS方式输出,对搜索引擎都不太友好,而且自定义效果有限(当然限于我这种技术而言)。有想法就得行动,为了讨好搜索引擎,最后求助wordpress牛人冰古兄弟(因为冰古兄弟是有问必答嘛,老好人了!),当然,这种小Case对他而言那是小菜一碟。 […]

  8. […] 也许玩嘀咕的朋友都知道嘀咕有很多很猛的插件,比如我最喜欢的嘀咕火兔。当然官方也有插件(嘀咕秀)可以实现这个显示,但那插件是只能通过flash、图片和JS方式输出,对搜索引擎都不太友好,而且自定义效果有限(当然限于我这种技术而言)。有想法就得行动,为了讨好搜索引擎,最后求助wordpress牛人冰古兄弟(因为冰古兄弟是有问必答嘛,老好人了!),当然,这种小Case对他而言那是小菜一碟。 […]

  9. Ariagle says:

    还是不太明白add_filter的运作方式……
    我那你那篇《制作五彩缤纷的标签云图》来做实验,代码被我模仿成这样:

    function myp($text) {
    $text = $text.”OKOKOKOKOKOKOKOK”;
    return $text;
    }
    add_filter(‘wp_tag_cloud’, ‘myp’, 1);

    这之后标签云的结尾确实多出了“OK”字样,然后我又将add_filter里的wp_tag_cloud改成其他函数,如the_tags、wp_list_cats等,就都不成功了,这是为什么呢?

    • 冰古 says:

      filter和action我的理解也不是太彻底。

      这个要看被filter的函数是怎么样的了。

      th_tags是这样定义的:

      function the_tags( $before = null, $sep = ', ', $after = '' ) {
      	if ( null === $before )
      		$before = __('Tags: ');
      	echo get_the_tag_list($before, $sep, $after);
      }

      它的内部是没有用apply_filter生成the_tags这个filter的,所以不能用add_filter来影响它的输出。这时你add_filter(‘the_tags’, ‘myp’, 1); 只是生成了一个叫the_tags的filter而已。用add_action或许可以影响它的输出。

      wp_tag_cloud里有一句:$return = apply_filters( ‘wp_tag_cloud’, $return, $args );
      这里已经生成了一个叫wp_tag_cloud的filter,并且后面跟着两个参数。

      wp_list_categories函数里的定义是这样的:$output = apply_filters( ‘wp_list_categories’, $output );
      它的后面只有一个参数,所以你给它两个参数就错了。你用add_filter(‘wp_list_categories’, ‘myp’);应该就是可以的。

      这就是我的理解,或许有不对的地方。

  10. Ariagle says:

    真是复杂哈……
    用add_action来处理wp_list_categories是成功了,但the_tags怎么处理都不行。我顺着它要调用的函数看回去,找到了一些有apply_filters的地方,再用add_filter处理它,也不行……
    如果我想对主循环中输出的tags做一些处理(例如给他们加上样式、对链接中的字符串进行处理等),应该怎么做呢?

    • 冰古 says:

      如果你要给tags加样式,用一个带有class的div包围tags就可以定义他们的样式了,例如:the_tags(‘Tag: ‘, ‘, ‘, ”);

      如果要对tag进行处理,应该是处理get_the_tag_list可以改变tag吧。

  11. Ariagle says:

    我是想对tag的文字进行处理,以躲避功夫网~
    不过还是不成功…………

  12. Ariagle says:

    必要措施还是要做的~

  13. leftkey says:

    wordpress留言里的email项怎么去掉·····?在线等呐

    • 冰古 says:

      wordpress设置里有一个选项是这样的,“评论时必须输入称呼和邮箱”,如果你不勾选它,邮箱的确是可以不填,但称呼也变成可以不填了。所以不建议不勾选。

      我想到的办法是这样的,打开主题的comments.php,在其中找到类似下面的一句:

      <p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" />
      <label for="email"><small>邮箱(不会公开) <?php if ($req) echo "(必填项)"; ?></small></label></p>

      修改成:

      <p style="display:none;"><input type="text" name="email" id="email" value="自己指定一个邮箱" size="22" tabindex="2" />
      <label for="email"><small>邮箱(不会公开) <?php if ($req) echo "(必填项)"; ?></small></label></p>
  14. 培冉 says:

    你的 热门标签 是什么插件啊 怎么用的啊?可以发邮件告诉我吗?谢谢了!

  15. 浮黑 says:

    冰古你好,有个问题请教:可以帮忙把下面这段代码改为调用 WordPress 原生jquery吗?谢谢。

    $(“img”).each(function(i){
    var src = $(this).attr(“src”);
    if( src.indexOf(‘ggpht’)!=-1 ){
    $(this).attr(‘src’,’http://xxx.net/readimg.php?src=’+src.replace(‘ggpht’,’gouride’) );
    }
    });

  16. 浮黑 says:

    奇怪,怎么代码没贴全……

    $(“img”).each(function(i){
    var src = $(this).attr(“src”);
    if( src.indexOf(‘ggpht’)!=-1 ){
    $(this).attr(‘src’,’http://xxx.net/readimg.php?src=’+src.replace(‘ggpht’,’gouride’) );
    }
    });

  17. 浮黑 says:

    前面还有一行调用google的jquery代码……

  18. 浮黑 says:

    反复试了试,已经搞定。
    不过还是要感谢你 ^_^

  19. 24kcer says:

    1、请问,在开发插件的时候,如何使用wp_register_script方法来加载js,而不用
    我在网上找了几个办法好像都不行

    2、我发现wp2.8.4使用的是jquery1.3.2,而在以前的版本使用的是jquery1.2.6,这2个jquery在选择器的使用上存在很大的区别,这样一来编写的插件就很有局限性(要么针对wp2.8.4,要么针对以前的版本),有没有什么好的解决办法呢(我不想在插件里再带一个jquery)

    • 冰古 says:

      wp_register_script()并不是用于加载js的,它的作用只是注册该js,当你要调用该js时,还需要用wp_enqueue_script()进行调用。例如:

      wp_register_script('js_name', 'http://example.com/js.js');
      wp_enqueue_script('js_name');

      我对jquery不是太熟悉,如果jquery1.3.2兼容jquery1.2.6中的选择器,你可以通过判断wp的版本,然后根据不同的版本写不同的代码吧。jquery1.3.2准确地说是wp2.8开始就更换了的。

  20. Kevin says:

    我请教个问题哦,你的这个“你问我答”是怎么做的?wp好像是不支持留言板的,而且还能回复,好像也没有插件有实现这个功能的,可能我孤陋寡闻,忘冰古老师指点一二。

  21. gray13 says:

    请问 js-md5.js这个文件在哪里啊

  22. Kevin says:

    期待答复啊!

  23. […] 也许玩嘀咕的朋友都知道嘀咕有很多很猛的插件,比如我最喜欢的嘀咕火兔。当然官方也有插件(嘀咕秀)可以实现这个显示,但那插件是只能通过flash、图片和JS方式输出,对搜索引擎都不太友好,而且自定义效果有限(当然限于我这种技术而言)。有想法就得行动,为了讨好搜索引擎,最后求助wordpress牛人冰古兄弟(因为冰古兄弟是有问必答嘛,老好人了!),当然,这种小Case对他而言那是小菜一碟。 […]

  24. happyet says:

    我不懂php,请问一下,http://www.wodidai.com/post/wordpress-digu.html这个地方发的显示嘀咕的代码,我修改可用后,只能显示一条嘀咕内容,怎么设置成显示多条的呢?

    • 冰古 says:
      require_once(ABSPATH . 'wp-includes/class-snoopy.php');
      $items = 2; //这里是要显示多少条嘀咕
      $snoopy = new Snoopy;
      $snoopy->fetch("http://api.minicloud.com.cn/statuses/user_timeline.json?userIdOrName=happyet&#038;count=$items");
      $created_at = json_decode($snoopy->results,true);
      
      for ($i = 0; $i < $items; $i++) {
          $string = $created_at[$i]['text'];
          $bb_replace = array('/(\[url=)(.+)(\])(.+)(\[\/url\])/');
          $bb_replacements = array('<a href="\\2" rel="nofollow">\\4</a>');
          $string = preg_replace($bb_replace, $bb_replacements, $string);
          echo "<img src=\"http://digu.com/favicon.ico\" alt=\"digu\" title=\"digu\" width=\"16\" height=\"16\"  align=\"absmiddle\" />"  . $string . " - <a href=\"http://digu.com/jump?aid=detail&#038;twId=" . $created_at[0]["id"] . "\" target=\"_blank\" title=\"click2look\" rel="nofollow">#</a><br />";
          if ($created_at[$i]['picPath'][0] != ''){
              echo '<img src="' . $created_at[0]['picPath'][0] . '" alt="" /><br />';
          } 
      }

      这段代码就可以帮你实现。

  25. su says:

    有个问题急迫请教
    http://suoflife.com(我的个人博客)
    新启用的这个主题有在首页显示图片的效果,但是我怎么弄都看不到效果,烦请移步去看看,帮我分析分析,谢谢

    • 冰古 says:

      你是说你那首页上,有些图能显示有些图不能显示是吧。

      这要看你那两篇能显示图片的文章是怎么设置的了,其他不能显示图片的文章都照着设置就可以了。

      抱歉,可能说的有点太泛,不过没办法,这个光看表面看不出来问题所在。

      • su says:

        一番琢磨图片是显示了,不过鼠标停留预览功能却还没有。
        方便的话我把主题和作者网址发给你。
        我的电邮jshtho@gmail.com

  26. Dora says:

    请问,我在写插件的时候,需要实现吧一系列图片上传的功能,使用wp-upload-bits上传图片时,想要更改上传图片的路径,怎么实现呢。因为,貌似wp-upload-bits的默认上传路径是按照时间划分的,不利于吧这一系列图片归类,谢谢啦

  27. missdora says:

    你好,我想根据postID获取单个文章的more标签之前的文本,应该使用wordpress的哪个函数呢?找了很久也没找着

    • 冰古 says:

      这个应该是没有现成的函数的

      自己写个吧,先用get_post得到文章内容,然后正则获取more之前的文本,可参考get_the_content

  28. limkianhui says:

    冰古:久違了。今天又是來請教關於wordpress的。
    「http://taigu.fhl.net/index.html」這個網站的首頁有一項功能,就是它能夠讓讀者自己選擇用一種字型來閱讀網頁。請問這個功能在wordpress中如何使用?我想按它那樣設個這樣的功能,放在首頁的邊欄。謝謝。

  29. limkianhui says:

    就是有個【字型】的自選式隱藏型下拉菜單。你再去看一下。
    裡面有預設了多種字體(如“Lucida”、“Arial”……),讀者可以根據個人喜好,在隱藏式下拉菜單裡點擊任意一種字體來瀏覽網頁。

    • 冰古 says:

      這個要你自己折騰一下了,我最近都沒什麼時間。

      那個功能的秘密就在於下面的代碼:

      <script language="javascript" type="text/javascript" src="/cookie-lib.js"></script>
      <script type="text/javascript">
      // Hack to hide font menu intended for non-graphical version.
      // HTML na-si "utf-8" (tong-cho si "taigu.fhl.net"), to hian-si ji-heng soan-toann.
      // Assumes taigi.fhl.net is *never* utf-8 🙁
      var m=document.getElementsByTagName("meta");
      for (var i=0; i<m.length; i++) {
              if ( !m[i].getAttribute("content").match(/utf-8$/i) ) {
                      //alert('utf8');
                      document.getElementById("fontmenu").style.display="none";
                      break;
              }
      }
      
      var font=getCookie("taigu_font");
      if (font) {
              document.f.s.value=font;
              setFont(font);
      }
      
      function setFont(font)
      {
              var e=document.getElementsByTagName("body");
              e[0].style.fontFamily = font;
      
              var now = new Date();
              fixDate(now);
              now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
              setCookie('taigu_font', font, now, '/', 'taigu.fhl.net', ''); //domain ai kai
      }
      function addfhl()
      {
              document.se.q.value="site:taigu.fhl.net "+document.se.qfhl.value ;
      }
      </script>
      

      把上面代碼中相關的 cookie-lib.js 下載到你的服務器上,然後代碼中的 taigu.fhl.net 改為你的域名。

      最後把他們那裡的 下拉菜單 的 html 代碼貼到你主題上就可以了。

  30. limkianhui says:

    多謝你的指導。搞掂了。

  31. micfox says:

    侧边栏的最新日志的个别题目如果太长,怎么能让他只显示10个字,后面的让’…’来显示

  32. wpolscemamymocneseo says:

    I love reading your blog. I’ve you bookmarked your website in order to check out the latest stuff.

  33. 24kCer says:

    wordpress的编辑器能否能插入DIV标签,或者通过插件的形式?

  34. Godeau says:

    如何解决wordpress在显示时无法自动换行的问题?

  35. […] 经过不断的放狗搜索,终于让我发现了冰古大侠的玩wordpress上有个你问我答的栏目是这样介绍的: 你是否有关于WordPress方面的问题呢?尽管在这里提出,我将尽我所能帮你解决。 […]

Leave a Reply