{"id":5016,"date":"2025-09-18T16:25:50","date_gmt":"2025-09-18T14:25:50","guid":{"rendered":"https:\/\/wpmastertoolkit.com\/module\/media-replacement\/"},"modified":"2025-09-18T16:37:24","modified_gmt":"2025-09-18T14:37:24","slug":"media-replacement","status":"publish","type":"module","link":"https:\/\/wpmastertoolkit.com\/es\/module\/sustitucion-de-soportes\/","title":{"rendered":"Sustituci\u00f3n de soportes"},"content":{"rendered":"
A todos nos ha pasado: una imagen mal retocada, un PDF obsoleto, un v\u00eddeo demasiado comprimido... pero ya insertado por todo el sitio. Borrar y volver a importar rompe las URL, deja p\u00e1ginas con enlaces muertos y cambia el ID de los medios. Relevante si utiliza un plugin dedicado como \"Enable Media Replace\". Este m\u00f3dulo ofrece la misma l\u00f3gica<\/strong> (sustituci\u00f3n in situ) pero integrado de forma nativa en WPMasterToolKit, sin necesidad de un plugin adicional.<\/p>\n\n\n\n El m\u00f3dulo Sustituci\u00f3n de soportes<\/strong> de WPMasterToolKit facilita la sustituci\u00f3n de un soporte seguro, r\u00e1pido y sin efectos secundarios<\/strong> : mismo ID, misma URL, misma fecha<\/strong>pero archivo actualizado<\/strong> y miniaturas regeneradas<\/strong>. Se acabaron los enlaces rotos y los problemas de reimportaci\u00f3n. Es la herramienta ideal para mantener tus bibliotecas multimedia limpias y actualizadas, con total confianza.<\/p>\n\n\n\n <\/p>","protected":false},"excerpt":{"rendered":" Le plugin WPMasterToolKit pour WordPress propose une solution pratique avec son module \u00ab\u00a0Media Replacement\u00a0\u00bb, permettant de remplacer des fichiers m\u00e9dias sans casser les liens existants. Cette fonction, plus int\u00e9gr\u00e9e et efficace que des plugins similaires comme \u00ab\u00a0Enable Media Replace\u00a0\u00bb, vise \u00e0 r\u00e9duire le nombre de plugins actifs pour am\u00e9liorer les performances du site. Elle s’int\u00e8gre parfaitement \u00e0 l’interface d’administration de WordPress, permettant un remplacement transparent et s\u00e9curis\u00e9 des fichiers tout en maintenant l’int\u00e9grit\u00e9 des liens. C’est une solution id\u00e9ale pour une gestion simplifi\u00e9e et optimis\u00e9e des m\u00e9dias.<\/p>","protected":false},"featured_media":0,"parent":0,"template":"","meta":{"_acf_changed":true,"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"_surecart_dashboard_logo_width":"180px","_surecart_dashboard_show_logo":true,"_surecart_dashboard_navigation_orders":true,"_surecart_dashboard_navigation_invoices":true,"_surecart_dashboard_navigation_subscriptions":true,"_surecart_dashboard_navigation_downloads":true,"_surecart_dashboard_navigation_billing":true,"_surecart_dashboard_navigation_account":true},"class_list":["post-5016","module","type-module","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/module\/5016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/module"}],"about":[{"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/types\/module"}],"wp:attachment":[{"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/media?parent=5016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
El m\u00f3dulo Sustituci\u00f3n de soportes<\/strong> de WPMasterToolKit resuelve este problema: se sustituye el archivo fuente<\/strong> medios de comunicaci\u00f3n sin cambiar su ID, nombre de archivo o fecha de publicaci\u00f3n<\/strong>. Resultado : todas las URL e integraciones siguen siendo v\u00e1lidas<\/strong>.<\/p>\n\n\n\n\u00bfA qu\u00e9 plugins puede sustituir este m\u00f3dulo?<\/h2>\n\n\n\n
Qu\u00e9 hace exactamente el m\u00f3dulo<\/h2>\n\n\n\n
\n
wp_generate_attachment_metadata()<\/code> para recrear todas las tallas inferiores<\/strong> (miniaturas).<\/li>\n\n\n\n-scaled<\/code><\/strong>. Si un plugin (por ejemplo, multiling\u00fce) bloquea el borrado, un \"hard delete<\/strong> Aseg\u00farese de limpiar los restos.<\/li>\n\n\n\n\n
Detalles de UX en la administraci\u00f3n<\/h2>\n\n\n\n
\n
Escenarios y l\u00edmites a tener en cuenta<\/h2>\n\n\n\n
\n
upload_files<\/code>.<\/li>\n\n\n\nis_uploaded_file<\/code>tipos, tama\u00f1o m\u00e1ximo de WordPress).<\/li>\n<\/ul>\n\n\n\nC\u00f3mo utilizar este m\u00f3dulo<\/h2>\n\n\n\n
\n
<\/figure><\/li>\n\n\n\n
<\/figure><\/li>\n\n\n\n
Eso es todo: la URL no cambia<\/strong>el sitio sigue apuntando al mismo ID, pero con el archivo actualizado<\/strong>.
<\/figure><\/li>\n<\/ol>\n\n\n\nNuestras opciones t\u00e9cnicas (y por qu\u00e9)<\/h2>\n\n\n\n
\n
copy()<\/code> \u2192 mismo nombre, misma ubicaci\u00f3n). Esta es la \u00fanica manera de garantizar que todos los enlaces siguen siendo v\u00e1lidos<\/strong>.<\/li>\n\n\n\nwp_check_filetype_and_ext()<\/code> y get_post_mime_type()<\/code> para evitar sorpresas (incrustaciones, reproductores, etiquetas HTML, etc.).<\/li>\n\n\n\nwp_delete_attachment_files()<\/code> con los metadatos y los tama\u00f1os de las copias de seguridad, a continuaci\u00f3n, un alternativa<\/strong> supresi\u00f3n f\u00edsica si es necesario (en el caso de las im\u00e1genes -scaled<\/code> o plugins multiling\u00fces).<\/li>\n\n\n\nwp_generate_attachment_metadata()<\/code> + wp_update_attachment_metadata()<\/code> para recrear todos los subtama\u00f1os inmediatamente despu\u00e9s de la sustituci\u00f3n, sin necesidad de herramientas de terceros.<\/li>\n\n\n\n\n
media_row_actions<\/code><\/li>\n\n\n\nattachment_fields_to_edit<\/code> (para el modal)<\/li>\n\n\n\nattachment_submitbox_misc_actions<\/code> (editar pantalla)
A submen\u00fa p\u00e1gina oculta<\/strong> se carga bajo demanda para mostrar la interfaz de usuario de sustituci\u00f3n, con activos espec\u00edficos (CSS\/JS) y cadenas localizadas.<\/li>\n<\/ul>\n<\/li>\n\n\n\n\n
upload_files<\/code>.<\/li>\n\n\n\nis_uploaded_file<\/code>gesti\u00f3n de los errores de carga y respeto de wp_max_upload_size()<\/code> (mediante JS localizado).<\/li>\n<\/ul>\n<\/li>\n\n\n\nConclusi\u00f3n<\/h2>\n\n\n\n