Tôi đã tạo một loại bài đăng tùy chỉnh, hai nguyên tắc phân loại tùy chỉnh và hiển thị chúng trong phần 'quản lý bài đăng, nhưng tôi nhận được cảnh báo sau:
Cảnh báo: Thiếu đối số 2 cho Manage_posts_custom_column () trong /home/aleche23/alexchen.info/wp-content/theme/techozoic-fluid/fifts/custom-post-types.php trên dòng 95
Hình ảnh:
<?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>";
}
}
}
Tôi đang thiếu lập luận nào?
Tại sao tôi nhận được 5 câu hỏi bỏ phiếu liên tiếp? Tôi đang có một khoảng thời gian xui xẻo?
—
janoChen