当访问者通过WordPress自带的搜索查找文章时,如果返回的结果只有一篇文章,可以直接跳转到这篇文章,从而提高用户体验。...将下面代码添加到当前主题函数模板 functions.php 文件中便可以实现: add_action('template_redirect', 'redirect_single_post');...function redirect_single_post() { if (is_search()) { global $wp_query;...if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) { wp_redirect( get_permalink( $wp_query...->posts['0']->ID ) ); exit; } } } 由 主机教程网 发表于 主机教程网原文链接:https://2bcd.com/3561.html
看到Elegantthemes 上的这篇文章不错,索性半翻译半修改过来。...,如果你嫌时间过长,可以通过wp-config.php 自定义设置,如下面的代码设置删除间隔为 7天: define ('EMPTY_TRASH_DAYS', 7); 或者直接不用经过回收站,一次性删除干净...通过在wp-config.php 添加下面的代码,你可以减少自动保存次数: define( 'WP_POST_REVISIONS', 3 ); 甚至,你可以禁止这个功能: define( 'WP_POST_REVISIONS...'); function redirect_single_post() { if (is_search()) { global $wp_query; if ($wp_query...->post_count == 1 && $wp_query->max_num_pages == 1) { wp_redirect( get_permalink( $wp_query
归档带分页 在归档页面模板中间内容下加入下述代码: php <?...posts_per_page ); $post_list = $post_data[0] ??...false; $max_page = $post_data[1] ?? 0; // 开始显示模板 get_header(); ?...$max_page ) $max_page = $wp_query->max_num_pages; echo paginate_links( array( 'base...= array(); $post_list = sola_get_posts( $paged, $posts_per_page ); $max_page = $post_list->max_num_pages
WordPress 安装 Memcached 之后,WordPress 的文章页,基本上可以做到 0 SQL 请求,但是首页或者其他列表页总是有两条 SQL 请求,怎么优化呢?...并且使用该 $cache_key 查询一下内存中是否已有相关数据,如有直接返回数据,WordPress 就不会到数据库查询了。...$wp_query->is_main_query()){ // 只缓存主循环 return $pre; } $cache_key = md5(maybe_serialize($wp_query...->query_vars)); $wp_query->set('cache_key', $cache_key); $post_ids = wp_cache_get($cache_key, 'wpjam_post_ids...这样下次 WordPress 在此查询相同的数据的时候,在 posts_pre_query filter 就会直接返回。
$max_page ) {$max_page = $wp_query->max_num_pages;} if($max_page > 1){if(!...= 1){echo " 返回首页 ";} previous_posts_link...(' 上一页 '); if($max_page > $range){ if($paged < $range){for($i = 1; $i <= ($range + 1); $i++){echo...none;color:#888;border:1px solid #ccf;} .page_navi a:hover,.page_navi a.current{border:1px solid #356aa0;...color:#356aa0;font-weight:bolder;} 三、添加调用代码至主题index.php、archive.php、category.php、search.php: <div class
if ( is_singular() ) return; // 文章与插页不用 global $wp_query, $paged; $max_page = $wp_query...->max_num_pages; if ( $max_page == 1 ) return; // 只有一页不用 if ( empty( $paged ) ) $paged...', '‹' );/* 如果当前页大于1就显示上一页链接 */ for( $i = $paged - $p; $i {$linktext} "; } } 2.然后在页面相应位置...0 5px rgba(0, 0, 0, 0.2);position: relative;border-bottom:#4F8D65 1px solid;} span.pages{width:60px}
我们只需要在AJAX 执行的过程中向后台传递一个分页参数,就可以返回这个分页上的文章列表。再返回文章列表的时候,我们还需要返回下一分页的页码,当然如果不是最后一页的话。...鉴于wp query有着丰富的参数,我们可以通过转递指定的参数来控制文章列表的输出,使之可以在分类、标签等归档正常使用。...文章结构输出函数,这个要根据你自己的主题进行修改,在修改的过程中要注意不能使用直接打印结果的函数,如果你不知道如何修改,那往后的内容也没必要看了。...$GLOBALS["wp_query"]->max_num_pages . '">加载更多'; return $button; } } 调用方法 <?..._self.removeClass('is-loading') } }) } }); 本功能可完美用户各个文章列表,如果你添加了自定义文章类型则代码需要相应修改
php if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post();...- 显示某些文章类型里面的文章 */ 'post_type' => array( //(字符串/ 数组) - 文章类型,根据文章类型获取文章,默认为'post' 'post', // - 文章...'my-post-type', // - 自定义文章类型 (例如:movies) ), 'post_status' => array( //(字符串 / 数组) - 使用文章状态,根据文章状态获取文章,...' 过滤器,或使用 'pre_option_posts_per_rss'过滤器返回 -1 'posts_per_archive_page' => 10, //(整数) - n每页显示的文章数量 - 只在存档页面使用...在返回文章的开头忽略/排除置顶文章,但是置顶文章还是会在自然查询中列出。
php if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post();...状态参数 - 显示某些文章类型里面的文章 */ 'post_type' => array( //(字符串/ 数组) - 文章类型,根据文章类型获取文章,默认为'post' 'post', //...'my-post-type', // - 自定义文章类型 (例如:movies) ), 'post_status' => array( //(字符串 / 数组) - 使用文章状态,根据文章状态获取文章,...' 过滤器,或使用 'pre_option_posts_per_rss'过滤器返回 -1 'posts_per_archive_page' => 10, //(整数) - n每页显示的文章数量 - 只在存档页面使用...在返回文章的开头忽略/排除置顶文章,但是置顶文章还是会在自然查询中列出。
中详细介绍了文章查询的排序参数,其中介绍可以通过评论数进行排序: $query = new WP_Query( array( 'orderby' => 'comment_count' ) ); 但是需求总是不停的变化...,现在又有了新需求,获取最新被评论的文章列表,意思就是某篇文章刚被评论,它就排到最前面,在某些社交需求的网站可能需要用到。...comment_date: add_filter('posts_clauses', function ($clauses, $wp_query){ global $wpdb; $orderby = $wp_query...->get('orderby'); $order = $wp_query->get('order') ?...AND ct.comment_parent=0 AND ct.comment_approved NOT IN ('spam', 'trash', 'post-trashed')"; $clauses
action上挂载(挂钩机制)一个函数---钩子函数。...可以是 PHP 标准的函数,或者是 WordPress 内的函数,或者是插件内自定义的函数。3.优先级:这是一个可选的参数,默认值为10。...php #have_posts()函数被调用时实际上是调用全局变量$wp_query->have_posts()成员函数,来简单检查一个全局数组(array)变量$posts的一个循环计数器,以确认是否还有...post,如果有返回true(1),如果没有返回false(0) while(have_posts()){ #the_post函数则调用$wp_query->the_post()成员函数前移循环计数器...-- 1.the_permalink()在循环函数(the_post())中返回当前URL,该标签必须在循环中,由于是动态生成的URL(每次循环返回不同),所以不能用于指定某一特定的文章
9.附件详情页的查询 [queried_object] 附件的详细信息 [is_attachment] 附件的详情页 [post_mime_type] 附件类型:MIME [posts] [post]...have_posts函数被调用时实际上是调用全局变量$wp_query->have_posts()成员函数,来简单检查一个全局数组(array)变量$posts的一个循环计数器,以确认是否还有post,...如果有返回true(1),如果没有返回false(0)。...the_post() 解析:the_post()函数则调用$wp_query->the_post()成员函数前移循环计数器,并且创建一个全局变量$post(不是$posts),把当前的post的所有信息都填进这个...② $sep 字符串值,默认值:, 在每个标签链接 之间 显示的文本。 ③ $after 字符串值,默认为空 在标签链接 后 显示的文本。
在 WordPress 进行搜索的时候,如果搜索结果只返回一篇日志的时候,最好的方法是直接跳转到文章页面。...我们可以在当前主题的 functions.php 文件添加下面的代码实现: add_action('template_redirect', 'wpjam_redirect_single_post');...function wpjam_redirect_single_post() { if (is_search()) { global $wp_query; if (...$wp_query->post_count == 1) { wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
面包屑导航意在告知用户所处的当前网页的位置,方便用户可以通过该导航快速返回上一级网页。...面包屑导航的作用 让用户了解目前所处位置,以及当前页面在整个网站中的位置。...$delimiter . ' '; if ( is_category() ) { // 分类 存档 global $wp_query; $cat_obj = $wp_query->get_queried_object...= 'post' ) { // 自定义文章类型 $post_type = get_post_type_object(get_post_type()); $slug = $post_type...$after; } else { // 文章 post $cat = get_the_category(); $cat = $cat[0]; $cat_code = get_category_parents
wp_parse_args wp_parse_args($args, $defaults=[]) 将用户定义的参数(args)合并到默认的参数(defaults)中,用户自定义的参数可以是数组,也可以是对象...,甚至支持链接地址查询类型的字符串(比如:"id=5&status=draft")。...也可以使用该函数将链接地址查询类型的字符串转换成数组: $args = wp_parse_args('post_type=post&posts_per_page=5&cat=1'); // 输出 Array..., 3 => 'Item 3', 4 => 'Item 4', 5 => 'Item 5', ); wp_array_slice_assoc($array, array(1,3,5)); 将会返回...的日志列表结果,过滤出 page 类型的: $pages = wp_list_filter( $wp_query->posts, array('post_type' => 'page')); 还有第三个元素
找到输出翻页的代码 一般在主题的index.php(首页模板)中,可能是the_posts_navigation()函数,也可能是主题的自定义函数,这些函数的名字里通常带有the_posts_navigation...get_the_posts_pagination() 该自带函数支持返回向前、向后、页码、当前页的html代码(get前缀的函数返回代码,也可以用the_posts_pagination()直接输出),...if ( $GLOBALS['wp_query']->max_num_pages > 1 ) { $args = wp_parse_args( $args, array(...Default is the value WP_Query's max_num_pages or 1. 'current' (int) The current page number....这个函数返回的html代码,为了处理这段代码,不得不用str_replace,最后echo,我们就可以输出与主题风格相符的页码了。
文章页面(Single Post) is_single() 判断当前页面是否是一篇文章或者是附件页面或者自定义文章类型页面。...文章类型(Post Type) get_post_type() 严格意义上,这并不是一个条件判断标签,它会返回当前文章注册的文章类型,并且可以通过类似 if ( 'book' == get_post_type...is_post_type_archive() 判断是否在任何的自定义文章类型存档页面(post type archive)。...is_post_type_archive( $post_type ) 判断是否在 post_type 中符合条件的文章类型存档页面,post_type 可以是一个单一的文章类型或者是一个文章类型数组。...is_singular( 'book' ) 判断当前文章是否属于自定义文章类型(Custom Post Types)“book”。
新站首次用 Postman 去 访问 REST API 接口,如:http://EXAMPLE_URL/wp-json/wp/v2/posts,会发现返回的是 404,需要自己在管理后台将:设置-固定链接...获取文章形式一直返回falseWP_Query 里查出来无 format 和 sticky 这两个字段,所以只能自己额外获取,但是要注意默认的 standard 标准形式get_post_format...变量设置默认值javascript 中给变量设置默认值可以直接用或运算符 ||,但是在 php 中或运算符 || 只能用来判断,会返回布尔值,要像js中设置默认值只能用if判断或者三元运算符$a = "...Object 对象在PHP 中,有三种类型的数组:// 数值数组:以数字为键的数组,键从0开始自增$arr = ['zhou', 'xiao', 'hei'];// 关联数组:带有指定的键的数组,每个键关联一个值...如果 no_found_rows 为 false, 最大页 max_num_pages、总条数found_posts/found_comments 就不会去被计算,我们直接获取就都是0。
v参数用来区别 treeType 为 default 时返回树的格式, customized总是返回格式2.0的构件树。 参数: ?...v参数用来区别 treeType 为 default 时返回树的格式, customized总是返回格式2.0的构件树。...14 (2)v 参数用来区别 treeType 为 default 时返回树的格式, customized 总是返回格式2.0的构件树。..., ex); 60 } 61 } 其中调用到的 httpManager.Post() 方法,请参考《C# HTTP系列》 测试: 在BIMFACE的控制台中可以看到我们上传的文件列表,模型状态均为转换成功...14 (2)v 参数用来区别 treeType 为 default 时返回树的格式, customized 总是返回格式2.0的构件树。
不仅在面向用户的管理屏幕上运行。它也在 admin-ajax.php 和 admin-post.php 上运行。...' )]); 启用指定类型文章的缩略图功能,不指定第二个参数时默认为全部文章启用缩略图功能; post-formats:文章形式。...可以在处理函数的最终返回值上调用 do_shortcode() ,使 $content 中包含的简码也可以被解析。...(postID, count_key, '0');//新增元字段数据 update_post_meta(postID, count_key, '0');//更新元数据 17.query_posts函数...', 10, 0); //清除前后文信息 remove_action('wp_head', 'start_post_rel_link', 10, 0); //清除前后文信息 remove_action