收到警告:MANAGE_POSTS_CUSTOM_COLUMN()缺少参数2?

时间:2011-05-12 作者:janoChen

我创建了一个自定义帖子类型和两个自定义分类法,并将它们显示在“管理帖子”部分,但我收到以下警告:

警告:在/home/aleche23/alexchen中,manage\\u posts\\u custom\\u column()缺少参数2。信息/wp内容/主题/techozoic流体/功能/自定义帖子类型。php在线95

图片:

enter image description here

<?php

/**
 * Create the Blocks custom post type and the Sections custom taxonomy
 */
add_action(\'init\', \'create_post_type\');

        // Register custom post types and custom taxonomies
        function create_post_type() {
            register_post_type(\'blocks\',array(
                \'labels\' => array(
                    \'name\' => __( \'Blocks\' ),
                    \'singular_name\' => __( \'Block\' ),
                    \'add_new_item\' => \'Add New Block\',
                    \'edit_item\' => \'Edit Block\',
                    \'new_item\' => \'New Block\',
                    \'search_items\' => \'Search Block\',
                    \'not_found\' => \'No Blocks found\',
                    \'not_found_in_trash\' => \'No Blocks found in trash\',
                ),
                \'public\' => true,
                \'hierarchical\' => false,
                \'taxonomies\' => array( \'section\'),
                \'supports\' => array(\'title\',\'editor\',\'thumbnail\',\'custom-fields\'),
                \'rewrite\' => array(\'slug\'=>\'blocks\',\'with_front\'=>false),
                \'menu_position\' => 50,
            ));
            register_taxonomy(\'location\',\'blocks\',array(
                \'hierarchical\' => true,
                \'labels\' => array(
                    \'name\' => __( \'Locations\' ),
                    \'singular_name\' => __( \'Location\' ),
                    \'add_new_item\' => \'Add New Location\',
                    \'edit_item\' => \'Edit Location\',
                    \'new_item\' => \'New Location\',
                    \'search_items\' => \'Search Location\',
                    \'not_found\' => \'No Location found\',
                    \'not_found_in_trash\' => \'No Locations found in trash\',
                    \'all_items\' => __( \'All Locations\' ),
                ),
                \'query_var\' => true,
                \'rewrite\' => array( \'slug\' => \'location\' ),
            ));
            register_taxonomy(\'section\',\'blocks\',array(
                \'hierarchical\' => true,
                \'labels\' => array(
                    \'name\' => __( \'Sections\' ),
                    \'singular_name\' => __( \'Section\' ),
                    \'add_new_item\' => \'Add New Section\',
                    \'edit_item\' => \'Edit Section\',
                    \'new_item\' => \'New Section\',
                    \'search_items\' => \'Search Section\',
                    \'not_found\' => \'No Sections found\',
                    \'not_found_in_trash\' => \'No Sectionss found in trash\',
                    \'all_items\' => __( \'All Sections\' ),
                ),
                \'query_var\' => true,
                \'rewrite\' => array( \'slug\' => \'section\' ),
            ));
            // Add initial terms
            if (!get_option(\'yoursite-blocks-initialized\')) {
                $terms = array(
                    \'Intro\',
                    \'Tagline\',
                    \'Mainbar\',
                    \'Sidebar\',
                    \'Featured\',
                    \'Content\',
                );
                foreach($terms as $term) {
                    if (!get_term_by(\'name\',$term,\'section\')) {
                        wp_insert_term($term, \'section\');
                    }
                }
                update_option(\'yoursite-blocks-initialized\',true);
            }
        }
        // Arrange the position of elements in the table
            add_filter(\'manage_blocks_posts_columns\', \'manage_blocks_posts_columns\');

        function manage_blocks_posts_columns($columns) {
            $columns = array(
                \'cb\' => \'<input type="checkbox" />\',
                \'title\' => \'Name\',
                \'location_column\' => \'Location\',
                \'section_column\' => \'Section\',
                \'author\' => \'Author\',
                \'date\' => \'Date\',
            );
            return $columns;
        }
        // Verify that we are indeed working with only the custom post type and use a switch statement to test against the column
            add_filter(\'manage_posts_custom_column\', \'manage_posts_custom_column\');

        function manage_posts_custom_column( $column,$post_id ) {
            global $typenow;
            if ($typenow==\'blocks\') {
                $location_taxonomy = \'location\';
                $section_taxonomy = \'section\';
                switch ($column) {
                case \'location_column\':
                    $location_column = get_the_terms($post_id,$location_taxonomy);
                    if (is_array($location_column)) {
                        foreach($location_column as $key => $location) {
                            $edit_link = get_term_link($location,$location_taxonomy);
                            $location_column[$key] = \'<a href="\'.$edit_link.\'">\' . $location->name . \'</a>\';
                        }
                        echo implode(\' | \',$location_column);
                    }
                    break;
                case \'section_column\':
                    $section_column = get_the_terms($post_id,$section_taxonomy);
                    if (is_array($section_column)) {
                        foreach($section_column as $key => $section) {
                            $edit_link = get_term_link($section,$section_taxonomy);
                            $section_column[$key] = \'<a href="\'.$edit_link.\'">\' . $section->name . \'</a>\';
                        }
                        echo implode(\' | \',$section_column);
                    }
                    break;
                }
            }
        }
        // Output multiple taxonomy filters
            add_action(\'restrict_manage_posts\' ,\'restrict_manage_posts\');

        function restrict_manage_posts() {

            // Only display these taxonomy filters on desired custom post_type listings
            global $typenow;
            if ($typenow == \'blocks\') {

                // Create an array of taxonomy slugs you want to filter by - if you want to retrieve all taxonomies, could use get_taxonomies() to build the list
                $filters = array(\'location\', \'section\');

                foreach ($filters as $tax_slug) {
                    // Retrieve the taxonomy object
                    $tax_obj = get_taxonomy($tax_slug);
                    $tax_name = $tax_obj->labels->name;
                    // Retrieve array of term objects per taxonomy
                    $terms = get_terms($tax_slug);

                    // Output html for taxonomy dropdown filter
                    echo "<select name=\'$tax_slug\' id=\'$tax_slug\' class=\'postform\'>";
                    echo "<option value=\'\'>Show All $tax_name</option>";
                    foreach ($terms as $term) {
                        // Output each select option line, check against the last $_GET to show the current option selected
                        echo \'<option value=\'. $term->slug, $_GET[$tax_slug] == $term->slug ? \' selected="selected"\' : \'\',\'>\' . $term->name .\' (\' . $term->count .\')</option>\';
                    }
                    echo "</select>";
                }
            }
        }
我遗漏了哪个论点?

1 个回复
最合适的回答,由SO网友:Geert 整理而成

将第93行更改为

add_filter(\'manage_posts_custom_column\', \'manage_posts_custom_column\');

add_filter(\'manage_posts_custom_column\', \'manage_posts_custom_column\', 10, 2);
第四个参数指定函数的参数数量manage_posts_custom_column 接受(默认为一个)。

法典:add_filter()

结束

相关推荐

Displaying oEmbed errors?

有时,通过oEmbed嵌入项目是不可能的,例如,当YouTube视频已禁用嵌入时。The oEmbed service will return a 401 Unauthorized, 并且不会转换代码。有没有办法通知用户这一点?当前的工作流是非直观的(至少对我来说),我更喜欢在WordPress页面上,或者更好的是,在编辑器中显示一条消息,说明对象无法嵌入。