Intereting Posts
ajax в wordpress – проблема пути Как добавить элемент меню в меню администратора Pods? Отображать назначенные термины со ссылкой Создание функции загрузки многократных изображений в Параметры темы? Страница, найденная с помощью «Обычная», но не с именем «Post name» Как я могу добавить количество комментариев к этим подстраницам текущего фрагмента страницы Пользовательский php-файл в wordpress Меню администратора – Меню имени отличается от первого Подменю Есть ли в WordPress Loop функция, подобная циклу Shopify? admin-post.php не возвращает переведенные строки (gettext) Перенаправить на почту после отправки с помощью Gravity Forms? Ошибка get_item_quantity () при извлечении фида Установка плагина WordPress Как использовать разбиение на страницы с помощью get_post_meta Обновить постоянную связь, когда новая категория добавлена ​​к пользовательской таксономии типа сообщения

Установите сетевой аватар по умолчанию

Я видел плагины и фрагменты о том, как установить новый аватар по умолчанию для сайта. Мне интересно, можно ли это сделать в масштабе всей сети, так что каждый новый сайт в сети будет иметь аватар сети в качестве основного по умолчанию. оттуда плагины, которые позволяют пользователю загружать новый аватар, будут достаточными, чтобы каждый сайт определял его собственный. Но до тех пор, пока они этого не сделают, я предпочел бы, чтобы у них был мой аватар, чем тайный человек или некоторые из других, которые прямо уродливы.

Solutions Collecting From Web of "Установите сетевой аватар по умолчанию"

Самый лучший вариант – аватар_default.

add_filter('pre_option_avatar_default', 'se72578_avatar_default'); function se72578_avatar_default( $option ){ return 'http://example.com/your/default/here.jpg'; } 

Просто. Придерживайтесь этого в mu-plugin, и вам хорошо идти.

Изменить. Если вы хотите, чтобы владельцы сайтов могли изменять аватар по умолчанию, вместо этого используйте вместо этого default_option_avatar_default .

Должен использовать плагины, станет универсальной глобальной функциональностью. И фактическая функциональность довольно проста … только для предварительной настройки значения default_avatar .

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

 <?php /* Plugin Name: Network Default Avatar Description: This Plugin Used to be the General Framework Author: Version: Author URI: */ add_filter('pre_option_avatar_default', 'pre_option_avatar_default'); function pre_option_avatar_default(){ return 'mystery'; } 

Обновить новый код

  1. Используя hook_avatar filter hook, вы можете заменить оригинальный аватар

     add_filter('get_avatar', 'get_avatar_custom',10,5); function get_avatar_custom($avatar, $id_or_email, $size, $default, $alt){ // your code here... /* ** Example code will check if current avatar string is contain "mystery" avatar if yes, it will ** try to get site_default_avatar property from options table (you can create a UI for entering this value) ** if system_default_avatar exists - filter will repalce default value (first argument of this filter callback) ** and return new value ** if (strpos($avatar, '561e2e7a9910204ba43fa4097e45c5e9') !== false ** && get_option('site_default_avatar', false) != ''){ ** $avatar = "<img alt='".esc_attr($alt)."' src='".get_option('site_default_avatar', false)."' ** class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />"; ** } ** */ return $avatar; } 
  2. Использование функции … get_avatar. get avatar – это подключаемая функция, означающая, что вы можете использовать ее в любом плагине, теме или в нашем случае в mu-plugin

     function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false { // your code here return $some_html_with_avatar_picture; } 

В моей папке mu-plugins у меня теперь есть следующий код, который добавляет персонализированный аватар в качестве сети по умолчанию по умолчанию, но позволяет каждому отдельному сайту изменять его после этого.

 <?php /* Plugin Name: Network Default Avatar Description: This Plugin sets the default avatar network-wide */ class Network_Default_Avatars { // configure these two variables static $name = "Network Default"; // text description of avatar... ie "Mystery Man" static $avatar = "http://example.com/default-avatar.png"; // URL of avatar function __construct() { // default avatar add_filter( 'avatar_defaults', array( $this, 'default_avatar' ) ); add_action( 'wpmu_new_blog', array( $this, 'new_blog_default_avatar' ) ); } // add to list of default avatars function default_avatar ($avatar_defaults) { $ib_avatar[self::$avatar] = self::$name; return array_merge( $ib_avatar,$avatar_defaults ); // Put our custom avatar on top } // set a new blog to have the default avatar function new_blog_default_avatar( $blog_id ){ switch_to_blog($blog_id); update_option( 'avatar_default', esc_url( self::$avatar ) ); restore_current_blog(); } } new Network_Default_Avatars(); 

РЕДАКТИРОВАТЬ # 1 Комментарий update_option @ Отто о default_option_avatar_default_filter Я изменил новое действие update_option блоге, чтобы вместо этого использовать фильтр по умолчанию.

 <?php /* Plugin Name: Network Default Avatar Description: This Plugin sets the default avatar network-wide */ class Network_Default_Avatars { // configure these two variables static $name = "Network Default"; // text description of avatar... ie "Mystery Man" static $avatar = "http://example.com/default-avatar.png"; // URL of avatar function __construct() { // default avatar add_filter( 'avatar_defaults', array( $this, 'avatar_defaults' ) ); add_filter( 'default_option_avatar_default', array( $this, 'default_avatar' ) ); } // add to list of default avatars function avatar_defaults ($avatar_defaults) { $ib_avatar[self::$avatar] = self::$name; return array_merge( $ib_avatar,$avatar_defaults ); // Put our custom avatars on top } function default_avatar () { return self::$avatar; } } new Network_Default_Avatars();