function hocwp_remove_empty_array_item($arr, $remove_zero = false)
{
    if (is_array($arr)) {
        foreach ($arr as $key => $item) {
            if (is_array($item)) {
                $arr[$key] = hocwp_remove_empty_array_item($item);
            } elseif (hocwp_string_empty($item) || $remove_zero && 0 === $item) {
                unset($arr[$key]);
            }
        }
    }
    return $arr;
}
function hocwp_setup_theme_nav_menu_item_title($title, $menu_item, $args, $depth)
{
    if (is_a($menu_item, 'WP_Post') && $menu_item->post_type == 'nav_menu_item') {
        if ('page' == $menu_item->object) {
            $post_id = $menu_item->object_id;
            $page = get_post($post_id);
            $diff_title = get_post_meta($post_id, 'different_title', true);
            if (!hocwp_string_empty($diff_title) && $page->post_title != $diff_title && $title == $diff_title) {
                $title = do_shortcode($page->post_title);
                $title = apply_filters('translate_text', $title, $lang = null, $flags = 0);
            }
        }
    }
    return $title;
}
示例#3
0
function hocwp_field_input_right_label($type, $args = array())
{
    $options = isset($args['options']) ? $args['options'] : array();
    $value = isset($args['value']) ? $args['value'] : '';
    $label = isset($args['label']) ? $args['label'] : '';
    $id = hocwp_get_value_by_key($args, 'id');
    $name = hocwp_get_value_by_key($args, 'name');
    hocwp_transmit_id_and_name($id, $name);
    if (!hocwp_array_has_value($options)) {
        $option_item = array('label' => $label, 'value' => $value, 'default' => hocwp_get_value_by_key($args, 'default'), 'id' => $id, 'name' => $name);
        $options[] = $option_item;
    }
    $count = 0;
    foreach ($options as $option) {
        $value = isset($option['value']) ? $option['value'] : $value;
        $option['type'] = $type;
        $option['before'] = isset($args['before']) ? $args['before'] : '<p>';
        $option['after'] = isset($args['after']) ? $args['after'] : '</p>';
        $option['name'] = isset($option['name']) ? $option['name'] : $name;
        $option['value'] = $value;
        if (hocwp_string_empty($value) && 0 == $count && 'radio' == $type) {
            $option['attributes']['checked'] = 'checked';
        }
        hocwp_field_input($option);
        $count++;
    }
}