作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 WP 管理面板上有带有“父”下拉列表的“属性”元数据框。我需要更改排序参数并仅显示父帖子。如果我更改 native WP 文件 meta-boxes.php 行 621,我可能会这样做。以下代码:
$dropdown_args = array(
'post_type' => $post->post_type,
'exclude_tree' => $post->ID,
'selected' => $post->post_parent,
'name' => 'parent_id',
'show_option_none' => __('(no parent)'),
//Remove existing sort
//'sort_column' => 'menu_order, post_title',
'echo' => 0,
//Add my options
'parent' => 0,
'sort_order' => 'DESC',
'sort_column' => 'post_date',
);
使用这一切都很完美。但我需要钩住它。我已经创建了 actiont 来执行此操作,但它不起作用:
add_action('page_attributes_meta_box', 'custome_page_attributes_meta_box');
function custome_page_attributes_meta_box($post) {
$post_type_object = get_post_type_object($post->post_type);
if ( $post_type_object->hierarchical ) {
$dropdown_args = array(
'post_type' => $post->post_type,
'exclude_tree' => $post->ID,
'selected' => $post->post_parent,
'name' => 'parent_id',
'show_option_none' => '(no parent)',
'echo' => 0,
'sort_order' => 'DESC',
'sort_column' => 'post_date',
'parent' => 0
);
$dropdown_args = apply_filters( 'page_attributes_dropdown_pages_args', $dropdown_args, $post );
$pages = wp_dropdown_pages( $dropdown_args );
if ( ! empty($pages) ) {
?>
<p><strong><?php _e('Parent') ?></strong></p>
<label class="screen-reader-text" for="parent_id"><?php _e('Parent') ?></label>
<?php echo $pages; ?>
<?php
} // end empty pages check
} // end hierarchical check.
}
我做错了什么?
最佳答案
您正在尝试 hook变成一个不存在的 Action 。
在核心文件中,您必须查找 do_action
和 apply_filters
。
在这种情况下,有一个正是您所需要的:
add_filter( 'page_attributes_dropdown_pages_args', 'filter_dropdown_so_14880043', 10, 2 );
function filter_dropdown_so_14880043( $dropdown_args, $post )
{
$my_args = array(
'post_type' => $post->post_type,
'exclude_tree' => $post->ID,
'selected' => $post->post_parent,
'name' => 'parent_id',
'show_option_none' => '(no parent)',
'echo' => 0,
'sort_order' => 'DESC',
'sort_column' => 'post_date',
'parent' => 0
);
return $my_args;
}
关于wordpress - 如何 Hook page_attributes_meta_box 以更改显示 "Parent"选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14880043/
在 WP 管理面板上有带有“父”下拉列表的“属性”元数据框。我需要更改排序参数并仅显示父帖子。如果我更改 native WP 文件 meta-boxes.php 行 621,我可能会这样做。以下代码:
我是一名优秀的程序员,十分优秀!