_wp_nav_menu_meta_box_object()
云策文档标注
概述
_wp_nav_menu_meta_box_object() 是一个 WordPress 内部函数,用于向导航菜单元框中的某些对象类型添加自定义查询参数。它根据传入的对象类型(如页面、文章、分类或自定义文章类型)设置默认的 WP_Query 参数,以控制菜单项的显示方式。
关键要点
- 函数接受一个可选参数 $data_object,表示文章类型或分类元对象,默认值为 null。
- 根据 $data_object->name 的值,为不同对象类型设置 _default_query 数组,定义查询参数如排序和文章状态。
- 返回修改后的对象,用于导航菜单元框的显示逻辑。
代码示例
function _wp_nav_menu_meta_box_object( $data_object = null ) {
if ( isset( $data_object->name ) ) {
if ( 'page' === $data_object->name ) {
$data_object->_default_query = array(
'orderby' => 'menu_order title',
'post_status' => 'publish',
);
} elseif ( 'post' === $data_object->name ) {
$data_object->_default_query = array(
'post_status' => 'publish',
);
} elseif ( 'category' === $data_object->name ) {
$data_object->_default_query = array(
'orderby' => 'id',
'order' => 'DESC',
);
} else {
$data_object->_default_query = array(
'post_status' => 'publish',
);
}
}
return $data_object;
}
原文内容
Adds custom arguments to some of the meta box object types.
Parameters
$data_objectobjectoptional-
The post type or taxonomy meta-object.
Default:
null
Source
function _wp_nav_menu_meta_box_object( $data_object = null ) {
if ( isset( $data_object->name ) ) {
if ( 'page' === $data_object->name ) {
$data_object->_default_query = array(
'orderby' => 'menu_order title',
'post_status' => 'publish',
);
// Posts should show only published items.
} elseif ( 'post' === $data_object->name ) {
$data_object->_default_query = array(
'post_status' => 'publish',
);
// Categories should be in reverse chronological order.
} elseif ( 'category' === $data_object->name ) {
$data_object->_default_query = array(
'orderby' => 'id',
'order' => 'DESC',
);
// Custom post types should show only published items.
} else {
$data_object->_default_query = array(
'post_status' => 'publish',
);
}
}
return $data_object;
}
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |