WPLib::make_new_item PHP Method

make_new_item() static public method

static public make_new_item ( WPLib_Item_Base | WP_Post | WP_Term $item, array $args = [] ) : WPLib_Term_Base | WPLib_Post_Base
$item WPLib_Item_Base | WP_Post | WP_Term
$args array
return WPLib_Term_Base | WPLib_Post_Base
    static function make_new_item($item, $args = array())
    {
        $class = get_called_class();
        if (WPLib::get_constant('INSTANCE_CLASS', $class)) {
            if (self::class_declares_method($class, 'make_new_item')) {
                $item = $class::make_new_item($item, $args);
            } else {
                if (WPLib::is_development()) {
                    $err_msg = __('Cannot make new item. Class %s does not have make_new_item method', 'wplib');
                    WPLib::trigger_error(sprintf($err_msg, $class), E_USER_ERROR);
                }
            }
        } else {
            if (WPLib::is_development()) {
                $err_msg = __('Cannot make new item. Class %s does not have INSTANCE_CLASS constant.', 'wplib');
                WPLib::trigger_error(sprintf($err_msg, $class), E_USER_ERROR);
            }
        }
        return $item;
    }