Intereting Posts
Почему настройка постоянных ссылок влияет на страницы? В основном, противоположный многосайтовый URL-адрес, который задают большинство людей Пользовательский запрос поиска выполняется на каждой странице Разрешение комментариев к сообщениям Метабокс – почему они не ожидают php? Запретить отображение биографической страницы автора в результатах поиска Скрыть собственное поле типа сообщения от автора? Исключение пользователей определенной роли на странице пользователей Почему мой get_post_meta неправильно вызывает настраиваемое поле при попытке встроить видео YouTube? Удалите определенный shortcode из get_the_content () Имя шаблона всегда совпадает с именем каталога? Как я могу управлять пространством заголовка на страницах без передних страниц в Twenty Seventeen? Как я могу дублировать виджет? Запрос WordPress Mysql и дубликат Как сохранить файлы мультимедиа в пользовательской папке без изменения wp-config.php или изменения настроек мультимедиа

Как по умолчанию всем пользователям нет ссылки для вложений?

У моего сайта есть страницы прикрепления изображений, отключенные с помощью Yoast SEO, но некоторые из наших редакторов контента часто вставляют изображения с возможностью ссылки на: страницу прикрепления.

Если я говорю с ними индивидуально, у меня есть они вставить изображение и, в частности, выбрать «Ссылка на: нет», и с этого момента по умолчанию используется ссылка «Нет», если требуется. Это означает, что всякий раз, когда они вставляют изображение, это просто изображение.

Очевидно, что WP сохраняет это значение по умолчанию, но я не смог его найти.

Я использовал /wp-admin/options.php для изменения параметра image_default_link_type в none, но он не изменился для пользователей, которые не выполняли image_default_link_type к странице вложений. Они по-прежнему работают, если я вручную не выбираю None и вставляю изображение, используя свой профиль.

Надеемся, что есть запрос MySQL или переопределение некоторых функций, так что когда любой пользователь на моем сайте добавит изображения, они по умолчанию будут ссылаться на None. Я не хочу менять вывод – я хочу фактически удалить теги <a></a> , которые обернуты вокруг изображений в редакторе, когда кто-то добавляет изображение.

Solutions Collecting From Web of "Как по умолчанию всем пользователям нет ссылки для вложений?"

Это последний не-JS-метод, который, наконец, работал для меня:

Шаг 1: обновите параметр sitewide

Вы можете сделать это несколькими способами. Поскольку установка является одноразовой операцией, я решил обновить ее, посетив https://www.example.com/wp-admin/options.php . Я искал «image_default_link_type» и установил его в «none» (слово «нет», а не «null»), а затем сохранил настройки.

К сожалению, сэкономленная usermeta переопределяет эту настройку, поэтому ссылки на эту проблему продолжают появляться на этом этапе.

Шаг 2: обновите всех пользователей

Огромное спасибо @Milo за обнаружение местоположения, которое хранится под-usermeta, зарытое в строку запроса параметров, которые могут отображаться в любом порядке.

Теоретически это может быть одноразовая операция, или если вы считаете, что пользователи могут постоянно обновлять свои значения по умолчанию, вы можете установить это для запуска на крючке, wp_dashboard_setup как wp_dashboard_setup поэтому каждый раз, когда кто-то просматривает панель управления, все параметры пользователя «urlbutton» удаляются , что заставляет сайт использовать sitewide «image_default_link_type». Я решил пойти с представлением на панели управления.

 add_action('wp_dashboard_setup', 'wpse_update_user_defaults'); function wpse_update_user_defaults() { $users = get_users(); foreach($users as $user) { // pull current settings $wpUserSettings = get_user_meta($user->ID, 'wp_user-settings', true); // if 'wp_user-settings' is present with a 'urlbutton' value if(!empty($wpUserSettings) && strpos($wpUserSettings, 'urlbutton') !== false) { // if 'urlbutton' is not the only setting if(strpos((string)$wpUserSettings, '&') !== false) { // if there's an & before (may or may not have an & after) $firstUpdate = preg_replace("/&urlbutton=[^&]*/", '', $wpUserSettings); // if there's an & after (but not before) $secondUpdate = preg_replace("/^urlbutton=[^&]*&/", '', $firstUpdate); // save updated meta update_user_meta($user->ID, 'wp_user-settings', $secondUpdate); // if 'urlbutton' is the only setting } else { delete_user_meta($user->ID, 'wp_user-settings'); } } } } 

После того как я выяснил это, я искал существующие сообщения с проблемой, используя этот запрос:

 SELECT * FROM wp_posts WHERE post_content LIKE "%rel=\"attachment%" 

и оттуда отредактировал все сообщения вручную, чтобы удалить теги.