Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress按特定表中的值排序_Php_Mysql_Wordpress - Fatal编程技术网

Php Wordpress按特定表中的值排序

Php Wordpress按特定表中的值排序,php,mysql,wordpress,Php,Mysql,Wordpress,我试图从一个名为Wordpress Popular posts的插件中通过“页面浏览量”获得4篇文章。我在phpmyadmin中找到了它,它存储了每篇文章的页面浏览量。我的问题是,帖子的“pageviews”值不在wp_Posteta中,而是在一个单独的表中:wp_popularpostdata和命名pageviews。请帮忙:) phpmyadmin 来自wp_popularpostdata 发布页面浏览量 …1………14 下面的代码没有返回任何内容 $args = array(

我试图从一个名为Wordpress Popular posts的插件中通过“页面浏览量”获得4篇文章。我在phpmyadmin中找到了它,它存储了每篇文章的页面浏览量。我的问题是,帖子的“pageviews”值不在wp_Posteta中,而是在一个单独的表中:wp_popularpostdata和命名pageviews。请帮忙:)

phpmyadmin

来自wp_popularpostdata

发布页面浏览量

…1………14

下面的代码没有返回任何内容

$args = array(
        'posts_per_page' => 4,
        'meta_key' => pageviews,
        'orderby' => meta_value_num,
        'order' => DESC,
    );
                $my_query = new WP_Query($args);

您可以使用内置函数
wpp\u get\u mostpopular
,如下所述:


如果这对您来说还不够,您必须通过wordpress过滤器更改查询,如
posts\u join
posts\u where
等。这些应该可以帮助您找到方法。

如何在$my\u查询中实现这一点?如果($my_query->have_posts()):而($my_query->have_posts()):$my_query->the_post();?>您应该实现这一点,而不是使用$my_query和WP_query。要使用$my_查询,您必须使用一个过滤器来更改join子句(至少与插件表进行左连接),并使用另一个过滤器来更改order by子句(按插件表中所需的数字排序)。修改$my_查询是一个太难的解决方案;)有没有更简单的方法/替代方案?我只想得到wp_popularpostdata表中4篇文章的4个标题,其中“pageviews”的值最高。只需删除以前的代码,如果(函数存在('wpp_get_mostpopular'))wpp_get_mostpopular(“limit=4&post_html='{title}'),则添加
并设置结果样式:)差不多了:),我如何将每个标题设置为
  • ?因为这就是风格。我的原始代码是:if($My_query->have_posts()):while($My_query->have_posts()):$My_query->the_post();?>
    if (function_exists('wpp_get_mostpopular'))
        wpp_get_mostpopular("range=weekly&order_by=comments");