写在前面: 最近想给自己的博客实现一个 站内搜索 功能,期望整个过程异步实现。这样用户体验度更好。 遇到问题: 如何实现文章的模糊匹配? wordpress 如何提供接口?...问题1 – 模糊搜索: 大胆尝试: wordpress 原生自带有一个 wp_query 函数,它支持的参数非常完善灵活,实现整个网站与数据库的交互。...在官方手册中也有介绍到:wp_query,支持多种 sql 语句的 比较符号: ? 看!他说可以支持 like 或者 regexp 这种比较符号。... // 'compare' => 'REGEXP', 'compare' => 'LIKE', ], ],];$result = new WP_Query...Shell / 文章搜索 function search() { $keyword = $_GET['keyword'] ??
分享几个WordPress不用插件调用随机文章的方法,不仅增强用户粘性,而且当蜘蛛来爬你的文章的时候每次都会有变化,搜索引擎很喜欢。...term_id; } $args = array('orderby' => 'rand','showposts' => 8,'cat' => $catid ); $query_posts = new WP_Query...> 4、用wp_query函数 -36,//除了id为36的分类 ); $my_query = new WP_Query...$permalink . '" rel="bookmark" title="'; $output .= $post_title . '">' . $post_title .
提供搜索引擎优化:可以帮助搜索引擎更好地理解网站的内容,从而提高网站在搜索引擎中的排名。 方便用户查找特定时间段的内容:用户可以通过归档页面快速找到特定日期或者月份的文章。...> 按年份分组,然后分页 如前文所述,一直想要一个按年份分组,然后再分页,之前折腾时要么如上文一样分页成功了但不显示年份,要么按年份分组成功,分页又混乱了。...php /** * Template Name: Archives **/ // 获取当前页面的标题和内容 global $post; $post_title = $post->post_title...= $post->post_title; $post_content = apply_filters('the_content', $post->post_content); /** 用WP_Query...> 将需要调用的php函数放到结尾,方便查阅模板主体逻辑。
ID: add_filter('posts_clauses', function ($clauses, $wp_query){ if($wp_query->is_main_query() && $wp_query...$wpdb->posts.'.post_title LIKE', '('.$wpdb->posts.'.ID = '.$search_term.') OR ('....$wpdb->posts.'.post_title LIKE', '('.$wpdb->posts.'.ID in ('.$search_term.')) OR ('....$wpdb->posts.'.post_title LIKE', $clauses['where']); } } return $clauses; }, 2, 2); 上面代码支持直接搜索一个文章...支持直接插入屏幕截图 搜索优化 支持限制和关闭搜索的 WordPress 插件 格式化文章 在 WordPress 实现真正的文章格式 草稿分享 一键生成草稿临时分享链接 并可设置分享链接的有效期 Debug
php print($wp_query); ?...[is_serch] => 当前页是搜索页 没有[query_object]的字段 12....默认查询的总结 默认查询: $wp_query -> posts -> post 被查询对象:(wp_query查询出来的) get_queried_object() get_queried_object_id...php echo $pt ->post_title; ?> 文章编号:post_content; ?> 文章编号:<?...get_the_category( int $id = false ) 函数参数: $id 整数型,默认值:当前文章的ID 指定文章的ID,将返回该文章所属分类的信息。 函数使用示例 <?
「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...可以传递一个或多个选项: none – 无顺序 ID – 按文章 ID 排序,注意 ID 是大写的。 author – 按文章作者排序。...title – 按文章标题排序 name – 按文章名称排序,即 URL别名。 type – 按文章类型排序。 date – 按文章发布日期排序。 modified – 按文章修改日期排序。...parent – 按文章或页面的父 ID 排序 rand – 随机排序 comment_count – 按文章评论数排序 relevance – 按相关性排序,根据以下顺序按搜索词排序:首先是否匹配整个句子...,其次如果所有搜索词都在标题内,第三是否有任何搜索词出现在标题中,第四是否完整的句子出现在内容中。
style.css 样式表文件 index.php 主页文件 single.php 日志单页文件 page.php 页面文件 archvie.php 分类和日期存档页文件 searchform.php 搜索表单文件...$comment->post_title . “”>” . strip_tags($comment->com_excerpt) .”...‘post__not_in’ => array($post->ID), ‘showposts’=>10, ‘caller_get_posts’=>1 ); $my_query = new WP_Query...is_category(’Cheeses’) 分类title判断 is_category(’cheeses’) 分类 slug判断 in_category(’5′) 判断当前的文章是否属于分类5 is_author() 将所有的作者的页面显示出来...paged=2的时候,这个判断将返 回真,通过这个函数可以配合is_home来控制某些只能在首页显示的界面, 例如: <?php if(is_single()):?
面包屑导航一般都在导航的下面,形式一般为 首页 > 一级目录名称 > 二级目录名称 > 目前位置,尽量要把面包屑导航的层次控制在四层以内,这样也有利与搜索引擎蜘蛛一层层往下爬,到了四层以下就很难爬到了。...便于搜索引擎对于网站的收录,蜘蛛可以沿着面包屑导航爬下去,便于寻找链接,提高蜘蛛的爬行速度和效率; 便于用户了解网站的层次结构,进而浏览网站,提高用户体验; 优化面包屑导航每个层级的名称,尽量使用关键字...$delimiter . ' '; if ( is_category() ) { // 分类 存档 global $wp_query; $cat_obj = $wp_query->get_queried_object...$parent->post_title . ' ' . $delimiter . ' '; echo $before . get_the_title() ....$after; } elseif ( is_search() ) { // 搜索结果 echo $before ; printf( __( '搜索「%s」的结果如下:', 'cmp' )
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...第11讲关于搜索和评论的参数: 搜索参数 搜索参数可以根据关键字搜索获取文章。 s (string) – 搜索关键词。...$query = new WP_Query( array( 's' => 'keyword' ) ); 在搜索关键词前面加上连字符将排除与关键词匹配的文章,例如 "pillow -sofa" 将返回包含...显示评论数为20的文章: $args = array( 'post_type' => 'post', 'comment_count' => 20, ); $query = new WP_Query
–next page-> : 将当前内容分页 : 将当前内容截断,以不在主页/目录页显示全部内容 : 网页加载时间(秒) post_title . “”>” . strip_tags($comment->com_excerpt).”...first_tag),‘post__not_in’ => array($post->ID),‘showposts’=>10,‘caller_get_posts’=>1);$my_query = new WP_Query...$comment->post_title . “\”>” . strip_tags($comment->com_excerpt).”...paged=2的时候,这个判断将返 回真,通过这个函数可以配合is_home来控制某些只能在首页显示的界面, 例如: <?php if(is_single()):?
关于日志顺序 默认情况下WordPress日志是按日期顺序排列的,这也是大多数人的需求,不过如果能更改默认的排列顺序那就更好了。 例如你可以随意调用几篇日志,让它们显示在侧边栏。...你可以按文章类型调用自己想要的日志、页面或附件。 对附件的调用可能是最有趣但同时被使用频率也是最低的一个。...实现文章置顶的标准操作是,将这些文章添加到所返回数据列表的开始部分。...> 要忽略置顶文章——让所有文章按正常排序方式显示: 将隐藏已经显示的最新发表的日志, 从而让更多内容显示在主页上。
:站内搜索结果 最有用的应该是搜索关键字,能把用户想要的博文列表丢过去,当然基础功能也不错 三.优化搜索结果 试玩发现回复结果与查询关键字的相关度不大,比如: 关键字 redux 结果 MobX...react-redux源码解读 dva 插件默认走WordPress原生API get_posts,按发布日期排序,所以得到的结果不太科学,MobX和dva仅仅在内容提到了一点redux而已...,post_type,post_modified from db_wp_posts where post_status = 'publish' order by ((CASE WHEN post_title...posttype_wpwsl_template.php # 后台配置数据格式 wpwsl_core.php # 插件入口,注册 todo fork过来是想做几件事: 重写readme(原版太变态了,看了不想用) 100% 搜索结果按相关度排序...(默认按日期排序) 100% 扩展功能 0% 关键字支持类型常量(比如number) 支持命令(比如留言,topN) 趣味性功能(比如语音查询) 参考资料 WordPress get_posts by
WP_Query是wordpress提供的一个类,它支持的参数和方法非常丰富,通过各种给组合查询参数,几乎所有的文章查询都可以通过这个类实现。...Display Posts这个插件其实是对WP_Query 类做的一层高级封装,让用户可以不必手写复杂的WP_Query查询就可以得到想要的过滤结果。...尤其是当你的WordPress网站有了很多内容,想在网站的某些地方按某些条件来自由组织已有内容的时候,会显得非常有用,可以通过各种条件来进行花式搜索,自由控制显示的形式,使用也很方便。...用来自定义顾虑结果的展示方式 下面举几个具体的搜索参数例子: 显示最近发表的文章 这是最基本用法,什么参数都不加的话就是默认显示最近的文章,默认结果是10个,呈现结果是一个最简单的带有链接的文章标题列表...举几个例子: orderby=”author” -按作者排序 orderby=”rand” – 随机排序 orderby=”comment_count” – 按评论数量排序 在上面的短码中我还加入了其他几个参数
默认情况下,WordPress 搜索结果显示发布的文章和页面,如果想把页面从 WordPress 搜索结果中排除,可以在当前主题的 functions.php 文件中添加如下的函数: add_filter...('pre_get_posts', function($wp_query){ if($wp_query->is_search){ $wp_query->set('post_type', 'post...'); } return $wp_query; }); 上面的代码把搜索查询结果的 post_type 设置为 post,即为文章,当然也可以设置为 page,搜索结果只为 page,比如 WooCommerce...上面的代码就会影响这些 post_type 在搜索结果中的显示,因为上面设置为搜索结果只能显示 post 这个默认的 post_type。...所以那么最好的方法是:将 page 的 post_type 对象的排除出搜索结果的属性设置为 true,这样就不会影响 WordPress 正常的搜索行为: add_filter('register_post_type_args
将分类列表的方式显示(使用标签分隔列表项)。默认设置为列表(无序列表)。...$comment->post_title . “”>” . strip_tags($comment->com_excerpt) .”...first_tag), ‘post__not_in’ => array($post->ID), ‘showposts’=>10, ‘caller_get_posts’=>1 ); $my_query = new WP_Query...$comment->post_title . “”>” . strip_tags($comment->com_excerpt).”...paged=2009的时候,这个判断将返 回真,通过这个函数可以配合is_home来控制某些只能在首页显示的界面, 例如: <?php if(is_single()):?
近日,由于看着 朴素 的链接不顺眼,本着生命在于折腾的心态,准备着手将WordPress的固定链接由原本的朴素改为自定义。 即 https://www.qcgzxw.cn/?...) 更改固定链接 这没啥好讲的,按你个人喜好以及搜索引擎喜好来确定具体的链接形势。...wp-blog-header.php'); global $wpdb; $CID = 1;//分类id,只支持一个分类 $sql="SELECT ID,post_title...wp-blog-header.php'); global $wpdb; $CID = 1;//分类id,只支持一个分类 $sql="SELECT ID,post_title...---- 访问php文件后,会得到当前目录的所有文章ID 将ID保存到NotePad++ ? ? 然后按Ctrl+F唤出小窗口,点击替换,找对正则表达式,然后全部替换 我的正则如下 查找目标:(-?
首先,这是一个演示该漏洞的快速视频: 漏洞 该漏洞发生在 WordPress Query ( WP_Query ) 类中。WP_Query对象用于对 WordPress 数据库执行自定义查询。...(){ global $wp_query; ......如果请求来自未经身份验证的用户,admin-ajax.php将调用未经身份验证的 Ajax 操作。...搜索字符串“wp_ajax_nopriv_ecsload”表明它是一个存在于ajax-pagination.php页面中的钩子名称: public function init_ajax(){ //add_action...get_document_data方法创建一个WP_Query对象。
就Jeff的使用经验的话,我是直接将“标签”作为文章关键词的,这么做也是为了方便代码实现WordPress自动关键词keywords与描述description。...将下面的代码添加到主题的functions.php 文件下: add_action('template_redirect', 'tag_redirect_single_post'); function...tag_redirect_single_post() { if (is_tag()) { global $wp_query; if ($wp_query...高级一点的,可以将此与《WordPress内置搜索结果只有一篇文章时自动跳转到该文章》一文的代码合并为如下: add_action('template_redirect', 'redirect_single_post...'); function redirect_single_post() { if (is_tag() || is_search()) { global $wp_query
子凡把泪雪的相关推荐功能进行了重写,将原来的文章相关推荐功能做了自我感觉非常优秀的改进,相比用其它 WordPress 相关文章推荐的插件来说,我更喜欢自己来折腾,经过这一番的重写 WordPress...首先 WordPress 本身并没有相关文章的推荐功能,网站之所以需要这样的功能出于两个原因,一方面是推荐相关的内容越优质,访客的留存和继续阅读将会增强,同样从优化角度来说会更加有利于搜索引擎抓取时对页面质量的提升...limit, 'post_status' => 'publish', 'post__not_in' => [$pid], 'tag__in' => $tags, ]; $relateds = new WP_Query...post_status' => 'publish', 'post__not_in' => $pids, 'category__in' => $catids, ]; $relateds = new WP_Query...posts_per_page' => $limit, 'post_status' => 'publish', 'post__not_in' => $pids, ]; $relateds = new WP_Query
当你的读者在你的WordPress博客的内置的搜索引擎搜索时候,返回的结果是按照时间先后的陈列格式。如果搜索结果只有一篇文章的时候,为提高用户体验,我们可以让着唯一的一个搜索结果自动跳转到该文章。...将下面的代码添加到主题的funtions.php 文件的最后一个 ?...> 前: //搜索结果自动跳转 Devework.com add_action('template_redirect', 'redirect_single_post'); function redirect_single_post...() { if (is_search()) { global $wp_query; if ($wp_query->post_count == 1) {
领取专属 10元无门槛券
手把手带您无忧上云