在快速编辑中显示自定义字段


19

我有几个自定义字段,我需要我的客户可以随时对其进行编辑。为了方便起见,我希望他们能够从“快速编辑”中编辑这些自定义字段。这样,他们不必打开一堆新页面即可进入每个帖子。

是否可以将可编辑的自定义字段添加到快速编辑中?还是我不走运?


我在这里回答了指向我的自定义批量/快速编辑WordPress插件的链接,以及用于3个自定义字段的自定义帖子类型批量和快速编辑方案的完整Gist代码。
Michael Cannon 2013年


Answers:


5

添加我们的自定义列之后,我们就可以使用quick_edit_custom_box操作钩子来扩展Post Quick Edit菜单

注–除非存在自定义列,否则不会触发quick_edit_custom_box操作挂钩。这就是为什么我们从添加自定义列开始。

add_action('quick_edit_custom_box',  'shiba_add_quick_edit', 10, 2);

function shiba_add_quick_edit($column_name, $post_type) {
if ($column_name != 'widget_set') return;
?>
<fieldset class="inline-edit-col-left">
<div class="inline-edit-col">
    <span class="title">Widget Set</span>
    <input type="hidden" name="shiba_widget_set_noncename" id="shiba_widget_set_noncename" value="" />
    <?php // Get all widget sets
        $widget_sets = get_posts( array( 'post_type' => 'widget_set',
                        'numberposts' => -1,
                        'post_status' => 'publish') );
    ?>
    <select name='post_widget_set' id='post_widget_set'>
        <option class='widget-option' value='0'>None</option>
        <?php 
        foreach ($widget_sets as $widget_set) {
            echo "<option class='widget-option' value='{$widget_set->ID}'>{$widget_set->post_title}</option>\n";
        }
            ?>
    </select>
    </div>
    </fieldset>
    <?php
}

第5行–仅在相关屏幕上呈现我们的Quick Edit扩展程序。第7至25行-呈现我们的自定义下拉菜单,以选择小部件集。


2

请注意,我们将帖子元数据包装在id为“ release_date-”和帖子ID的div中。当我们填充“快速编辑”行时,这将派上用场。 详细信息在这里

add_action( 'manage_posts_custom_column', 'rachel_carden_populating_my_posts_columns', 10, 2 );
function rachel_carden_populating_my_posts_columns( $column_name, $post_id ) {
   switch( $column_name ) {
      case 'release_date':
         echo '<div id="release_date-' . $post_id . '">' . get_post_meta( $post_id, 'release_date', true ) . '</div>';
         break;
   }
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.