我创建了一个自定义帖子类型和两个自定义分类法,并将它们显示在“管理帖子”部分,但我收到以下警告:
警告:在/home/aleche23/alexchen中,manage\\u posts\\u custom\\u column()缺少参数2。信息/wp内容/主题/techozoic流体/功能/自定义帖子类型。php在线95
图片:
<?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>";
}
}
}
我遗漏了哪个论点?