php - 无法设置 posts_per_page 也无法排序/排序我的简码函数
问题描述
我一直在研究一个新功能,我可以简单地添加一个短代码来显示我设置的特定页面的子页面。一切都很好,看起来很好,直到我想订购/排序它们并设置一个限制。
这是我的代码
function whatwedo_function () {
$dynamicVVG = url_to_postid( site_url('what-we-do') );
$args = array(
'parent' => $dynamicVVG,
'post_type' => 'page',
'post_status' => 'publish',
'order' => 'DESC',
'posts_per_page' => 2,
);
$pages = get_pages($args);
// Initialize a variable to build your output string
$output ="";
$output = '<ul class="four no-bullets container"><div class="row">';
foreach( $pages as $page ) {
// Add to the string rather than return it
$output .='
<li class="col-md-4">
<a href="'.get_permalink($page->ID).'" rel="bookmark" title="test">
<span class="thumbnail ">'.get_the_post_thumbnail($page->ID, "large", array("class"=>"img-fluid") ).'</span>
</a>
<a href="'.get_permalink($page->ID).'" rel="bookmark" title="test">
<h3><span class="title">'.$page->post_title.'</span></h3>
</a>
<a href="'.get_permalink($page->ID).'" rel="bookmark" title="test">
<span class="desc">'.get_the_excerpt($page->ID).'</span>
</a>
<a href="'.get_permalink($page->ID).'" rel="bookmark" title="test">
<button type="button" class="btn btn-primary btn-lg btn-block mt-4">Block level button</button>
</a>
</li>';
}
$output .='
</ul>
</div>';
wp_reset_postdata();
return $output;
}
add_shortcode('what-we-do','whatwedo_function');
我试过了
- wp_reset_postdata();
- wp_reset_query();
- 在 $args 添加 posts_per_page
- 在 $args 添加 showposts
有人看到我在这里错过了什么吗?
解决方案
添加排序参数
$args = array(
'parent' => 2,
'post_type' => 'page',
'post_status' => 'publish',
...
'orderby' => 'date',
'order' => 'DESC',
...
'posts_per_page' => 2,
);
替换代码
$pages = get_pages($args);
至
$query = new WP_Query( $args );
$pages = $query->posts;
定论。还将父级更改为 post_parent
function whatwedo_function () {
$dynamicVVG = url_to_postid( site_url('what-we-do') );
$args = array(
'post_parent' => $dynamicVVG,
'post_type' => 'page',
'post_status' => 'publish',
'orderby' => 'date',
'order' => 'DESC',
'posts_per_page' => 2,
);
$query = new WP_Query( $args );
$pages = $query->posts;
// Initialize a variable to build your output string
$output ="";
$output = '<ul class="four no-bullets container"><div class="row">';
foreach( $pages as $page ) {
// Add to the string rather than return it
$output .='
<li class="col-md-4">
<a href="'.get_permalink($page->ID).'" rel="bookmark" title="test">
<span class="thumbnail ">'.get_the_post_thumbnail($page->ID, "large", array("class"=>"img-fluid") ).'</span>
</a>
<a href="'.get_permalink($page->ID).'" rel="bookmark" title="test">
<h3><span class="title">'.$page->post_title.'</span></h3>
</a>
<a href="'.get_permalink($page->ID).'" rel="bookmark" title="test">
<span class="desc">'.get_the_excerpt($page->ID).'</span>
</a>
<a href="'.get_permalink($page->ID).'" rel="bookmark" title="test">
<button type="button" class="btn btn-primary btn-lg btn-block mt-4">Block level button</button>
</a>
</li>';
}
$output .='
</ul>
</div>';
wp_reset_postdata();
return $output;
}
add_shortcode('what-we-do','whatwedo_function');
推荐阅读
- javascript - 使用 .map() 在对象 React 中迭代数组
- go - 在golang中解释make的幕后?
- flutter - 在列表中添加或删除项目时,列表构建器重复数据的问题
- php - 将数组转换为 int php
- ios - Ionic Capacitor 无法再生成可构建的 iOS 项目,CompileAssetCatalog 错误
- java - 从谷歌地图中的共享位置获取长/纬度到您的应用程序
- r - 在 tidyverse 中将列拆分为日期/时间
- python - 根据列的组合在数据框中创建唯一标识符,但仅适用于重复的行
- java - Gradle Java FX 应用程序构建失败:UnsupportedClassVersionError
- python - 在python中合并不同长度的数据框