WordPress

Zdjęcie profilowe autora komentarza — WordPress Development Stack Exchange

  • 15 maja, 2020
  • 3 min read
Zdjęcie profilowe autora komentarza — WordPress Development Stack Exchange


Jestem również zainteresowany i po spędzeniu godzin na testowaniu, przeczytaniu kodu źródłowego i niektórych dokumentów online. Zrozumieć wreszcie, jak to działa. I w końcu metoda jest łatwa, ale nie oczywista.

Nie wiesz, jak dodać obraz, możesz zmodyfikować kod, aby odpowiadał rzeczywistej sytuacji i oto sposób WordPress na dodanie niestandardowego Gravatara. W przykładzie wykorzystano zastępczy symbol zastępczy, który można zastąpić własnym grawatarem.

Ikony awatara w WP są w zasadzie pobierane z gravatar.com.

Dodaj opcje dla zaplecza

// WordPress sposób dodawania awatara dla niezarejestrowanego użytkownika/anonimowego // dodaj opcje w ustawieniach -> dyskusja add_filter( 'avatar_defaults' , 'ws366726_avatar_defaults' );  function ws366726_avatar_defaults($avatar_defaults) { // możesz pobrać opcję meta dla obrazu // klucz jest ścieżką do obrazu dla Gravatara na podstawie // ten klucz zostanie załadowany jako domyślny, jeśli obraz nie zostanie znaleziony dla określonego użytkownika w Gravatarze baza danych oparta na wyszukiwaniu wiadomości e-mail // tutaj możesz zmienić obraz zapisany w meta $avatar_defaults[' = 'My Default';

    return $avatar_defaults;
}

Gravatar image:
where mm is Mystery Man

Custom image example by changing the parameter in d:

Warto przeczytać!  php — WP Bootstrap NavWaker: Menu rozwijane Otwiera wszystkie menu rozwijane jednocześnie

This is how WordPress fetch the default gravatar image.

remove default gravatar rendering in backend comment list

// in hook 'admin_bar_menu', the 'comment author' will be available for removal
add_action ('admin_bar_menu' , 'ws366726_remove_default_avatar_in_comment_list');
function ws366726_remove_default_avatar_in_comment_list() {
    global $wp_filter;

    // because 'comment_author' by default defined inside a class, need to find it out and remove_filter
    foreach ($wp_filter['comment_author'][10]  as $key => $value) { if( preg_match('#floated_admin_avatar#', $key) ) { remove_filter( 'comment_author', array( $wp_filter['comment_author'][10][$key]['function'][0],'floated_admin_avatar' ), 10, 2);  } } }

renderuj niestandardowy gravatar dla listy komentarzy zaplecza

add_filter( 'comment_author' , 'ws366726_comment_author', 11, 2 );
function ws366726_comment_author( $name ) {
    // display default options instead, I think core team could implement it instead of a hard coded 'mystery' in the future so that developer don't have to remove and add back the similar things
    $default = get_option( 'avatar_default', 'mystery' ); // load the saved default in DB, by default, it is mystery
    $avatar = get_avatar( get_comment(), 32, $default );
    return "$avatar $name";
}

Ten sposób dodawania awatara pozwala kontrolować domyślnego awatara w tym samym menu ustawień ustawienia -> dyskusja. Dzięki temu zachowuje pierwotną elastyczność.

Warto przeczytać!  permalinks - Udostępnij ten sam Slug dla niestandardowego typu postu i 2 taksonomii

Główną zasadą jest to, że gravatar są przygotowywane przez get_avatar() funkcja, która domyślnie otrzymuje opcję anonimowego awatara z opcji z get_option( 'avatar_default', 'mystery' ) który służy mystery jako domyślny, jeśli nie został wcześniej zapisany.

The key tajemnicą jest, gdzie szukać obrazu, gdy tworzy adres URL prowadzący do strony gravatar.com. Zgodnie z tym postem może to być niestandardowy adres URL do załadowania jako domyślny.


Źródło