修改管理员帖子列表按钮/下拉列表

时间:2015-04-14 15:41:14

标签: wordpress woocommerce

我已经创建了自己的自定义帖子类型搜索过滤器,而不是使用另一个菜单我想将选项附加到默认的woocommerce状态过滤器下拉列表选项。

enter image description here

此外,我想将FilterSearch Orders按钮文字更改为Go

以下是我如何添加自己的下拉列表选项,但我想添加。

add_action( 'restrict_manage_posts', 'wpse45436_admin_posts_filter_restrict_manage_posts' );


function wpse45436_admin_posts_filter_restrict_manage_posts(){
    $type = 'shop_order';
    if (isset($_GET['post_type'])) {
        $type = $_GET['post_type'];
    }

    //only add filter to post type you want
    if ('shop_order' == $type){
        //change this to the list of values you want to show
        //in 'label' => 'value' format
        $values = array(
            'Ordered From Supplier' => 'ordered_supplier', 
            'Ready for Dispatch' => 'ready_dispatched',
            'Despatched' => 'despatched',
            'Delivered' => 'delivered',
            'Returns' => 'returns',
        );
        ?>
        <select name="shop_order_status_2" class="chzn-done">
        <option value="" selected><?php _e('Show All Order Statuses ', 'wose45436'); ?></option>

        <?php
            $current_v = isset($_GET['shop_order_status_2'])? $_GET['shop_order_status_2']:'';
            foreach ($values as $label => $value) {
                printf
                    (
                        '<option value="%s"%s>%s</option>',
                        $value,
                        $value == $current_v? ' selected="selected"':'',
                        $label
                    );
                }
        ?>
        </select>
        <?php
    }
}

我如何做到这一点?我使用什么过滤器?

1 个答案:

答案 0 :(得分:1)

我相信您可以通过过滤gettext()来更改按钮文字。这是允许翻译按钮文本的内容,但也可以为此类目的而被劫持。

add_filter( 'gettext', 'so_29631694_modify_filter_button_text' );

function so_29631694_modify_filter_button_text( $translated_text, $untranslated_text, $domain ){
    if( is_admin() && 'Filter' == $untranslated_text){
        $translated_text = 'Go';
    }
    return $translated_text;
}

或者你可以用一点jQuery做到这一点:

$('order-query-submit').attr('value', 'Go');