这些选项硬编码到tmpl-attachment-display-settings
下划线中的媒体模板/wp-includes/media-template
文件:
<script type="text/html" id="tmpl-attachment-display-settings">
<h3><?php _e(\'Attachment Display Settings\'); ?></h3>
...cut...
<select class="link-to"
data-setting="link"
<# if ( data.userSettings && ! data.model.canEmbed ) { #>
data-user-setting="urlbutton"
<# } #>>
<# if ( data.model.canEmbed ) { #>
<option value="embed" selected>
<?php esc_attr_e(\'Embed Media Player\'); ?>
</option>
<option value="file">
<# } else { #>
<option value="file" selected>
<# } #>
<# if ( data.model.canEmbed ) { #>
<?php esc_attr_e(\'Link to Media File\'); ?>
<# } else { #>
<?php esc_attr_e(\'Media File\'); ?>
<# } #>
</option>
<option value="post">
<# if ( data.model.canEmbed ) { #>
<?php esc_attr_e(\'Link to Attachment Page\'); ?>
<# } else { #>
<?php esc_attr_e(\'Attachment Page\'); ?>
<# } #>
</option>
<# if ( \'image\' === data.type ) { #>
<option value="custom">
<?php esc_attr_e(\'Custom URL\'); ?>
</option>
<option value="none">
<?php esc_attr_e(\'None\'); ?>
</option>
<# } #>
</select>
...cut...
</script>
您可以通过添加自己的自定义模板来覆盖模板,但我不确定这对于将来的更改有多稳定。
如果您的image_default_link_type
例如,选项设置为file
而不是post
, 然后,您可以尝试使用一些CSS技巧隐藏附件页选项,例如:
/**
* Hide the \'attachment page\' option from the attachment link selection.
* @see http://wordpress.stackexchange.com/a/173027/26350
*/
add_action( \'print_media_templates\', function(){
echo \'<style>.post-php select.link-to option[value="post"] {display:none;}</style>\';
});
那么链接选项将是:
Before:
After:
更新:
在回复评论时,我们可以通过以下方式处理编辑后屏幕上的添加和编辑图像媒体对话框:
/**
* Hide the \'Attachment Page\' option for the link-to part.
*/
add_action( \'print_media_templates\', function(){
echo \'
<style>
.setting select.link-to option[value="post"],
.setting select[data-setting="link"] option[value="post"]
{ display: none; }
</style>\';
});