1.wordpress文章排序如何按ID来排序
你可以向posts_orderby这个hooks添加内容。位于wp-includes/query.php
中 3206行。
如:
add_filter( 'posts_orderby', 'wpdit_custom_orderby' );
function wpdit_custom_orderby( $orderby ) {
$orderby = "ID ASC";
return $orderby;
}上面的代码是改变了全局的排序方式。
如果仅想在需要的地方设定不同的排序,就只要改你的代码:
$args = array(
'cat' => get_option('cx_cat_s'),
'post__not_in' => $sticky,
'paged' => $paged,
'orderby' => 'ID', //这样插入就可以了
'order' => 'ASC'
);
2.WOREPRESS主题修改排序方式
打开wordpress主题的index.php文件。
找到类似下面的这段话: while(have_posts()) { 这个就是用来显示你博客文章的循环语句。把它修改成下面的样子: $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args=array( 'orderby' => 基于排序的对象, 'paged' => $paged, 'order' => 'DESC' ); query_posts($args); while(have_posts()) { 其中,“基于排序的对象”可以是文章的任何属性,比方:”id”, “title”, “date”。
通过这种方法,你可以修改文章排序的依据。不过依旧不能完全自定义文章排序。
要完全自定义文章排序,我们要用到wordpress的另一个功能:meta data。 编辑文章时,你可能在文章编辑Widget下面看到像下面这样Widget: meta 如果没有,点击你编辑界面右上角的“显示选项”,选中“自定义栏目”。
然后,为每一篇文章添加一个meta data,key可以自己定义,比方post_order,meta的值则是你文章排序的依据。 类似的,在index.php中替换如下代码,只是把orderby改成了你的meta_key,同时添加一项meta_key。
如下: $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args=array( 'meta_key' => 'post_order', 'orderby' => 'meta_value', 'paged' => $paged, 'order' => 'DESC' ); query_posts($args); while (have_posts()) { 这样,你就可以依据自己定义的meta_data对文章进行排序了。 最后要说的是,这样方法不仅试用于首页,也适用于标签页、分类页等存档页面。
修改的放法一样。读者可以自己尝试一下。
更多问题到问题求助《/》。
3.wordPress如何调整置顶文章的顺序
首先要添加一处。
在wordpress后台的“写文章”里面,最上面点开“显示选项”,勾选最上面的“自定义栏目”。 这时候在文章编辑区的下面就会看到自定义栏目了。
一般老魏习惯于把这个栏目用鼠标左键拖拽到右侧最上面,这样编辑文章的时候就直接能输入排序序号了。 点击输入新栏目,输入post_order,值为0,点击添加自定义栏目,结果如下图。
这样就添加了一个自定义栏目,初始值是0,这个post_order就是用来排序的。 这种方法需要每篇文章都设置一下排序值,魏艾斯博客首页置顶文章排序就是这样设置出来的。
以后每次写文章的时候,在值这里输入一个足够大的数字。比如老魏这里的设置是从00001开始的,也就是可以够你写一万篇文章,按照每天写一篇文章的速度计算足够写十年的文章排序用了,嫌不够用前面可以多加几个0。
下载你网站模板里面的index.php文件并做好备份。在index.php中替换如下代码,把默认发布时间排序改成了你的meta_key,同时添加一项meta_key。
找到如下代码$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;$args=array(从这里开始下面的代码 'caller_get_posts' => 1,'paged' => $paged 替换成 'meta_key' => 'post_order','orderby' => 'meta_value','paged' => $paged,'order' => 'DESC' );上传覆盖源文件后,你就可以依据自己定义的meta_data对文章进行排序了。 最后要说的是,这样方法不仅试用于首页,也适用于标签页、分类页等存档页面,具体修改方法和文章页一样,您可以自己尝试一下。
4.WordPress如何让当前分类的文章列表按阅读量排列和热评数量排列
按阅读量排列,可安装插件 wp-postviews ,该插件提供了热门阅读文章列表调用代码: 或者 或者//显示最热门文章//显示某个或某些目录下最冷门文//显示某个或某些目录下最热门文章//显示指定标签下的最热门文章//显示指定标签下的最冷门文章//显示全站文章总共被浏览过多少次 特定时间内阅读量:### Function: Get TimeSpan Most Viewed function get_timespan_most_viewed($mode = '', $limit = 20, $days = 30, $display = true) { global $wpdb, $post;$limit_date = current_time('timestamp') - ($days*86400);$limit_date = date("Y-m-d H:i:s",$limit_date);$where = '';$temp = ''; if(!empty($mode) && $mode != 'both') {$where = "post_type = '$mode'"; } else {$where = '1=1'; }$most_viewed = $wpdb->get_results("SELECT DISTINCT $wpdb->posts.*, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID WHERE post_date '".$limit_date."' AND $where AND post_status = 'publish' AND meta_key = 'views' AND post_password = '' ORDER BY views DESC LIMIT $limit"); if($most_viewed) { foreach ($most_viewed as $post) {$post_title = get_the_title();$post_views = intval($post->views);$post_views = number_format($post_views);$temp .= "$post_title - $post_views ".__('views', 'wp-postviews').""; } } else {$temp = ''.__('N/A', 'wp-postviews').''."\n"; } if($display) { echo $temp; } else { return $temp; } }$days这个参数是多长时间内发表的文章,设置为30,就是1个月的热门文章。
5.wordpress首页文章如何按发布时间倒序排列
1、打开WordPress当前主题目录,打开index.php,搜索代码:while (have_posts())2、将搜索的代码替换为:/** * 名称:WordPress手动修改文章排列顺序 * 最后修改:2010年11月14日 */ $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args=array( 'meta_key' => 'sort', 'orderby' => 'meta_value_num', // 须 WordPress 2.8 及以上版本 'paged' => $paged, 'order' => DESC ); query_posts($args); while (have_posts())3、搜索代码:endwhile;并将其替换为:endwhile;wp_reset_query();。
6.如何在WordPress后台添加Meta信息
打开你的主题里面的functions.php文件,粘贴下面的代码到文件中。
$prefix = 'dbt_';$meta_box = array( 'id' => 'my-meta-box', 'title' => 'Custom meta box', 'page' => 'post', 'context' => 'normal', 'priority' => 'high', 'fields' => array( array( 'name' => 'Text box', 'desc' => 'Enter something here', 'id' => $prefix . 'text', 'type' => 'text', 'std' => 'Default value 1' ), array( 'name' => 'Textarea', 'desc' => 'Enter big text here', 'id' => $prefix . 'textarea', 'type' => 'textarea', 'std' => 'Default value 2' ), array( 'name' => 'Select box', 'id' => $prefix . 'select', 'type' => 'select', 'options' => array('Option 1', 'Option 2', 'Option 3') ), array( 'name' => 'Radio', 'id' => $prefix . 'radio', 'type' => 'radio', 'options' => array( array('name' => 'Name 1', 'value' => 'Value 1'), array('name' => 'Name 2', 'value' => 'Value 2') ) ), array( 'name' => 'Checkbox', 'id' => $prefix . 'checkbox', 'type' => 'checkbox' ) ));。
7.wordpress如何在页面中显示并排序所有分类
可以添加代码至相关页面模板(category.PHP、search.php、archive.php)把如下代码:<?php $posts="query_posts($query_string" .="" '&orderby="date&showposts=15');" ?="">添加至category.php、search.php、archive.php或其它页面模板中,以下函数之前:<?php if="" (have_posts())="" :="">?php><?php while (have_posts()) : the_post(); ?>代码中的15就是显示多少条。
个人建议:首页显示的文章数通过后台来控制,其他的嘛,就用这句代码来搞定。2.并且可以更改代码中的 orderby=date 还可以按ID 什么的 具体看你自己的需求了。
转载请注明出处51数据库 » wordpressmeta排序
?php>