创建子页面-筛选父页面列表

时间:2012-12-12 作者:Karel Attl

我这里有一个网站,有很多内容,其中的内容是在层次结构中创建页面所必需的。但是,在政府中浏览大量页面的下拉列表是很不舒服的。所以我的观点是,在管理员中,当我创建/编辑页面并需要从列表中选择父页面时,我想以某种方式过滤、限制或搜索可能的父页面列表。非常感谢。

3 个回复
SO网友:Caroline Elisa

不确定这是否有帮助,但我已使用以下页面上的代码将父页面筛选器添加到页面列表中:

http://www.finalwebsites.com/add-a-parent-pages-filter-function-your-wordpress-admin-section/

如果每个部分都有一个父页面,那么这非常方便。

只有一个问题-它只返回孩子而不是孙子等。我现在正试图找出如何让它返回所有深度的结果。

SO网友:barakadam

如果您正在使用wp_dropdown_pages, 然后使用参数exclude_tree 排除父页面和该父页面的所有子页面。有关所有参数的解释,请参见此处:http://codex.wordpress.org/Function_Reference/wp_dropdown_pages

SO网友:38365

找到一个插件,但尚未尝试:Parent Page Filter.

以下函数可以显示站点根级别页面的子级。这对于许多实例都很有用,但遗憾的是,如果您想筛选任何不在站点根目录下的页面的子级,则这将不太有用。我不太了解PHP或WP,因此无法建议如何在任何页面上,而不是在站点根级别的页面上进行此操作。

function fws_admin_posts_filter( $query ) {
    global $pagenow;
    if ( is_admin() && $pagenow == \'edit.php\' && !empty($_GET[\'my_parent_pages\'])) {
        $query->query_vars[\'post_parent\'] = $_GET[\'my_parent_pages\'];
    }
}
add_filter( \'parse_query\', \'fws_admin_posts_filter\' );

function admin_page_filter_parentpages() {
    global $wpdb;
    if (isset($_GET[\'post_type\']) && $_GET[\'post_type\'] == \'page\') {
        $sql = "SELECT ID, post_title FROM ".$wpdb->posts." WHERE post_type = \'page\' AND post_parent = 0 AND post_status = \'publish\' ORDER BY post_title";
        $parent_pages = $wpdb->get_results($sql, OBJECT_K);
        $select = \'
            <select name="my_parent_pages">
                <option value="">Parent Pages</option>\';
        $current = isset($_GET[\'my_parent_pages\']) ? $_GET[\'my_parent_pages\'] : \'\';
        foreach ($parent_pages as $page) {
            $select .= sprintf(\'
                <option value="%s"%s>%s</option>\', $page->ID, $page->ID == $current ? \' selected="selected"\' : \'\', $page->post_title);
        }
        $select .= \'
            </select>\';
        echo $select;
    } else {
        return;
    }
}
add_action( \'restrict_manage_posts\', \'admin_page_filter_parentpages\' );
<小时>

Source

我想this answer 第一次尝试链接到this page, 但这种联系已经消失了。通过谷歌找到实时链接。

结束

相关推荐

Admin pages have no content

我的网站不是通常那种恐怖的白色屏幕,在你进入管理仪表板之前,它会正常显示。虽然仪表板(或管理菜单,如果您愿意)可见并相应响应,但任何部分/页面都不会显示内容。除了两件事:添加帖子和编辑旧帖子。所以,我得到的是:http://dumpt.com/img/files/jdyvf8206fkmi1w01e6u.png页面更新动画只是不断滚动,甚至没有进行任何实际更改。没有发现任何关于上述问题的讨论,所以。。。需要帮助:D