Becomin' Charles

算法 | LNMP | Flutter | Mac

Becomin' Charles

页面模板一览

  1. Template Name: Archives
  2. Template Name: Authors
  3. Template Name: Biography
  4. Template Name: Blog
  5. Template Name: Bookmarks
  6. Template Name: Categories
  7. Template Name: Log In
  8. Template Name: Logged In
  9. Template Name: No Widgets
  10. Template Name: Profile
  11. Template Name: Quick Post
  12. Template Name: Register
  13. Template Name: Sitemap
  14. Template Name: Tags
  15. Template Name: Widgets

Action一览表

  1. comment_form
  2. hybrid_before_html
  3. hybrid_after_html
  4. hybrid_head
  5. hybrid_before_header
  6. hybrid_header
  7. hybrid_after_header
  8. hybrid_before_page_nav
  9. hybrid_after_page_nav
  10. hybrid_before_cat_nav
  11. hybrid_after_cat_nav
  12. hybrid_before_container
  13. hybrid_before_content
  14. hybrid_after_content
  15. hybrid_after_single
  16. hybrid_after_page
  17. hybrid_before_comments
  18. hybrid_before_primary
  19. hybrid_after_primary
  20. hybrid_before_secondary
  21. hybrid_after_secondary
  22. hybrid_before_subsidiary
  23. hybrid_after_subsidiary
  24. hybrid_after_container
  25. hybrid_before_footer
  26. hybrid_footer
  27. hybrid_after_footer
  28. hybrid_child_settings

Filter一览表

  1. show_password_fields <– register.php(115)
  2. hybrid_post_meta_boxes <– meta-box.php(74)
  3. hybrid_page_meta_boxes <– meta-box.php(121)
  4. hybrid_settings_args <– theme-settings-admin.php(65)
  5. hybrid_breadcrumb_args <– breadcrumbs.php(31)
  6. hybrid_breadcrumb <– breadcrumbs.php(220)
  7. hybrid_breadcrumb <– breadcrumbs.php(222)
  8. hybrid_avatar <– comments.php(67)
  9. hybrid_allowed_tags <– filters.php(95)
  10. hybrid_site_title <– filters.php(115)
  11. hybrid_site_description <– filters.php(134)
  12. hybrid_page_nav <– filters.php(166)
  13. hybrid_cat_nav <– filters.php(189)
  14. hybrid_category_menu_args <– filters.php(236)
  15. hybrid_category_menu <– filters.php(275)
  16. hybrid_search_form <– filters.php(313)
  17. hybrid_insert <– filters.php(328)
  18. hybrid_copyright <– filters.php(350)
  19. hybrid_credit <– filters.php(380)
  20. get_the_image_args <– get-the-image.php(37)
  21. get_the_video_args <– get-the-video.php(37)
  22. hybrid_enqueue_style <– media.php(39)
  23. hybrid_enqueue_script <– media.php(92)
  24. hybrid_favicon <– template-functions.php(293)
  25. hybrid_primary_args <– widgets.php(64)
  26. hybrid_primary_inserts <– widgets.php(68)
  27. hybrid_secondary_args <– widgets.php(84)
  28. hybrid_secondary_inserts <– widgets.php(88)
  29. hybrid_subsidiary_args <– widgets.php(110)
  30. hybrid_subsidiary_inserts <– widgets.php(114)
  31. hybrid_utility_args <– widgets.php(138)
  32. hybrid_utility_inserts <– widgets.php(142)
  33. hybrid_widget_class <– widgets.php(209)
  34. hybrid_primary_var <– widgets.php(402)
  35. hybrid_secondary_var <– widgets.php(420)
  36. hybrid_subsidiary_var <– widgets.php(438)
  37. wp_page_menu_args <– legacy.functions.php(40)
  38. wp_page_menu <– legacy.functions.php(75)
  39. widget_title <– archives.php(26)
  40. widget_title <– authors.php(26)
  41. link_category <– bookmarks.php(145)
  42. widget_title <– categories.php(26)
  43. widget_title <– pages.php(26)
  44. widget_title <– search.php(26)
  45. widget_title <– tags.php(26)

原文

WordPress.org的官方插件目录最大的问题,也是最常被抱怨的问题,就是那令人恶心的搜索。

以后不会再这样了。我们现在使用了Sphinx(一个“免费的开源的SQL全文搜索引擎”)来加强官方插件目录的搜索,无论是从官方网站搜索,还是从你WP的后台搜索插件(插件→添加新插件),搜索体验都会得到提升。

现在,搜索功能更棒了。虽然还存在着一些奇怪的小问题(我们的错,不是Sphinx的),当然我们会在短期内修复的,但是能让每个人用上它,我们十分高兴:)。

目前,只有插件的标题、描述、安装、FAQ等等来自readme.txt的字段被索引,不过,我们很快会补充完整的,包括作者和tags等。

译注:刚才体验了一下,确实提升很大,当然,这是由于原来的搜索实在是太烂了!现在,输入以空格分隔的多个关键字,也可以得到相对准确的结果了,结果列表的相关度还是非常大的。

在上一篇《Hybrid主题框架综述》中,我们已经介绍了Hybrid的基本原理。这篇文章,我们将主要介绍如何使用Hybrid来制作一款主题。本文主要面向的读者为主题制作爱好者,和狂热的DIY fans们。

阅读全文 »

Hybrid主题框架首次发布于2008年11月,该框架功能完备,定制性强,得到了很多开发者的青睐,以本文为首的系列文章,将向您介绍这款主题框架的方方面面。

阅读全文 »

Hook,既可以是动词,表示钩住,也可以是名词,表示钩子。在一个计算机程序中,Hook没有准确的并且合理的中文翻译,很多技术书籍文章,干脆就称之为“钩子”。

Hook机制(就是指Action和Filter的机制)正是WordPress能够有成千上万的插件支持的根源。

尽管我以前可能写过类似的文章来说明这个问题,但是我觉得这个东西是如此的重要,以至于如果你还没有明白什么是Hook,根本算不上走进了WP开发者的世界。又或者说,作为一个普通的玩家来说,深刻地理解Hook,能够帮助您走上DIY博客高速车道。

Hook这个东西,说难吧,很难,说容易吧,很容易,还真的不好解释。我不能保证每个看完这个文章的人能懂,知道个大概就行了。现在,我们开始。

阅读全文 »

我开始我的WordPress之旅,是2006年,那时候,我根本不懂PHP,只知道一般用用就可以了,那个时候,用得最久的主题是K2,因为强大,选项多。然后,就一直用着了。

阅读全文 »

哈哈大家千万别少打一个y啊,我提醒过了啊 o(>﹏<)o不要啊

原来的域名太长了,而且又是cn的,还有就是发现很多人拼写Charles不是很顺利……那就换个吧~ 这回域名和内容挂钩了。就是有点……那啥……囧。

还望各位朋友不怕麻烦,把我的链接给改了,谢谢~~

订阅地址还是保持不变吧,不然就太麻烦各位了。

好久么有更新博客了,年后会恢复的,谢谢各位支持~

最后,祝大家新年愉快!

fd802a5d

要完成最基本的搜索过程,Lucene需要以下几个对象的合作:

  • IndexSearcher——这个对象主要用来检索IndexWriter生成的索引文件,所以IndexSearcher构造的时候,使用一个包含了索引所在目录的Directory对象来构造。IndexSearcher提供的是一种对索引文件的只读访问,里面提供了多种搜索方法。在我第一次的笔记里代码中用到的search方法,接受一个Query对象和一个HitCollector对象,返回值为空。搜索结果被填充到HitCollector中。
  • Term——该对象是一个和Field相似的对象,包含一个名字和值对。但是目前,在代码里还没有遇到过这个对象,虽然书里提到在建立索引和搜索的过程中都会用到这个东西,但是实际上,我并没有看到。
  • Query——Query类是一个抽象类,在Lucene的内部有许多的实现,虽然说,书中也提到了最基本的Query是TermQuery,但是看了看内部的代码,在笔记1中提到的代码内部,实际上用到是BooleanQuery,而不是TermQuery。
  • TermQuery——最基本的Query,上面也提到了,用来匹配文档中包含的特定的域的特定的值,暂时也没有碰到过。
  • Hits——这个对象本来应该是一个简单的容器,用来包含搜索得到的排序结果的,但是实际上,在笔记1中的代码里,已经看不到这个东西了,Lucene已经不推荐使用这个东西,现在用到的东西是HitCollector似乎是一个更高级的容器了,在代码中我们看到,我们从这个对象中去除了一个Document的数组,包含的元素正是搜索结果。
  • QueryParser——这个对象在书中没有提到,实际上,我觉得必须要有的,本质上就是把一个字符串转换成一个Query对象,实际上,这个东西应该是设计得非常的复杂的,因为搜索引擎一般都提供了很丰富的搜索语法,Lucene也是一样的。构造QueryParser的时候,还可以指定专门的Analyzer。

要完成最基本的建立索引的过程,Lucene需要以下几个对象的合作:

  • IndexWriter——Lucene内部用来创建索引的最重要的组件。可以创建新索引,或者从文档增量地创建索引。
  • Directory——Directory是一个抽象类,用于表达索引存放的目录,在lucene内部提供了两个实现,一个是FSDirectory,一个是RAMDirectory,顾名思义了。Directory可能在内部提供了锁的机制,使得建立索引和搜索可以同时进行。
  • Analyzer——又是一个抽象类,是IndexWriter的构成组件之一,主要用来分析文本,包括分词,去除stop words等等功能。在构建一个项目的时候,选取或者创建正确的分析器是至关重要的。
  • Document——是Lucene处理的对象,一个Document是一组Field的集合
  • Field——Lucene建立的索引中,每个Document都包含一个或者多个命名的域,被包装在Field类中,Field有多种的类型,Keyword,UnIndexed,Unstored,Text

按照书中的说法,在进行一个最简单的建立索引的过程时候,必须要用到这几个类,但是上一次的笔记中,我也帖了我敲的代码,貌似则个Directory是没有直接在Indexer的代码中提到的,不过,我进IndexWriter的构造函数看了一下,其实是用到的,如果我们在构造一个IndexWriter的时候,没有传递一个Directory给它,而是只传了一个路径,那么会默认使用FSDirectory对像的,这是一种使用了简单锁机制的Directory对象。