VersionPress\Database\VpidRepository::getMenuReference PHP Method

getMenuReference() public static method

Maps menu item with given postmeta (_menu_item_object_id) to target entity (post/category/custom url).
public static getMenuReference ( $postmeta ) : null | string
$postmeta
return null | string
    public static function getMenuReference($postmeta)
    {
        global $versionPressContainer;
        /** @var Database $database */
        $database = $versionPressContainer->resolve(VersionPressServices::DATABASE);
        $menuItemType = $database->get_col("select meta_value from {$database->postmeta} pm join {$database->vp_id} vpid\n                                            on pm.post_id = vpid.id where pm.meta_key = '_menu_item_type'\n                                            and vpid.vp_id = UNHEX(\"{$postmeta['vp_post_id']}\")");
        if ($menuItemType === 'taxonomy') {
            return 'term_taxonomy';
        }
        if ($menuItemType === 'post_type') {
            return 'post';
        }
        // Special case - reference to homepage (WP sets it as 'custom', but actually it is 'post_type')
        if ($menuItemType === 'custom' && is_numeric($postmeta['meta_value'])) {
            return 'post';
        }
        return null;
        // custom url or unknown target
    }