这是一个shortcode 您可以在帖子/页面内容中看到。它很可能显示当前页面的所有子页面(最深可达1)。短代码非常常见,但您无法在WordPress帖子/页面编辑器中看到它们的输出,只能在前端通过do_shortcode()
作用
“艰难”的方式:
因此您可以尝试执行以下操作:
访问所有页面(/wp-admin/edit.php?post_type=page
) 在后端找到包含[child-pages]
短代码找到它的子页面(深度1)。请参见下面的屏幕截图根据需要编辑每个子页面再次查看快捷码页面完成以下是“所有页面”表中深度1的子页面:
“简单”的方法是:
我们可以使用以下插件构建自己的自定义元框,其中显示当前所有子页面的列表。
Demo plugin:
<?php
/**
* Plugin Name: Child Pages Meta Box
* Description: Child pages meta box for hierarchial post types
* Author: Birgir Erlendsson (birgire)
* Plugin URI: http://wordpress.stackexchange.com/a/158636/26350
* Version: 0.0.2
*/
function wpse_current_child_pages_meta_box()
{
$post_types = get_post_types();
foreach ( $post_types as $post_type )
{
if( is_post_type_hierarchical( $post_type ) )
{
add_meta_box(
\'wpse_child_pages\',
__( \'Current child pages\' ),
\'wpse_list_current_child_pages\',
$post_type,
\'side\',
\'low\'
);
}
}
}
add_action( \'add_meta_boxes\', \'wpse_current_child_pages_meta_box\' );
function wpse_list_current_child_pages( $post )
{
$args = array(
\'child_of\' => $post->ID,
\'echo\' => 0,
\'title_li\' => \'\',
\'post_type\' => $post->post_type,
\'walker\' => new WPSE_EditLinks
);
$style = \'<style>.wpse_childpages li {margin-left: 15px;}</style>\';
$list = wp_list_pages( $args );
if( ! $list )
$list = sprintf( \'<li>%s</li>\', __( \'No child pages found!\' ) );
printf( \'%s<ul class="wpse_childpages">%s</li>\', $style, $list );
}
class WPSE_EditLinks extends Walker_Page
{
function end_el( &$output, $page, $depth = 0, $args = array() )
{
$edit_url = admin_url( \'post.php?action=edit&post=\' . $page->ID );
$edit_link = " <a class=\'dashicons dashicons-edit\' title=\'edit\' href=\'" . esc_url( $edit_url ) . "\' target=\'_blank\'></a> ";
$output = str_replace( "><a", ">". $edit_link. "<a", $output );
$output .= "</li>\\n";
}
}
我们使用的位置
wp_list_pages()
做所有艰苦的工作。但是我们只需要添加编辑链接,这就是为什么我们要构建一个定制的页面遍历器。
此插件将自动激活所有后期编辑屏幕上的元框hierarchical 职位类型。
Where do I add this code?
创建此子目录:
/wp-content/plugins/wpse-current-child-pages-metabox/
然后将代码段保存到文件中:
/wp-content/plugins/wpse-current-child-pages-metabox/wpse-current-child-pages-metabox.php
并从后端激活插件:
/wp-admin/plugins.php
Screenshots:
下面是如何工作的屏幕截图:
并且没有子页面:
现在,您只需单击要修改的相应子页面的编辑链接即可。
更容易;-)
Gist/GitHub:
插件是
availabe here on Gist/GitHub.