shell bypass 403
import { applyFilters } from '@wordpress/hooks';
export const getMediaDetails = (media) => {
if (!media) return {};
const defaultSize = applyFilters(
'editor.PostFeaturedImage.imageSize',
'large',
media.id,
);
if (defaultSize in (media?.media_details?.sizes ?? {})) {
return {
mediaWidth: media.media_details.sizes[defaultSize].width,
mediaHeight: media.media_details.sizes[defaultSize].height,
mediaSourceUrl: media.media_details.sizes[defaultSize].source_url,
};
}
const mediumSize = applyFilters(
'editor.PostFeaturedImage.imageSize',
'medium',
media.id,
);
if (mediumSize in (media?.media_details?.sizes ?? {})) {
return {
mediaWidth: media.media_details.sizes[mediumSize].width,
mediaHeight: media.media_details.sizes[mediumSize].height,
mediaSourceUrl: media.media_details.sizes[mediumSize].source_url,
};
}
// Use fallbackSize when defaultSize is not available.
const fallbackSize = applyFilters(
'editor.PostFeaturedImage.imageSize',
'thumbnail',
media.id,
);
if (fallbackSize in (media?.media_details?.sizes ?? {})) {
return {
mediaWidth: media.media_details.sizes[fallbackSize].width,
mediaHeight: media.media_details.sizes[fallbackSize].height,
mediaSourceUrl: media.media_details.sizes[fallbackSize].source_url,
};
}
// Use full image size when fallbackSize and defaultSize are not available.
return {
mediaWidth: media.media_details.width,
mediaHeight: media.media_details.height,
mediaSourceUrl: media.source_url,
};
};