ცოტა ხნის წინ PCMania გაგვეთიშა. WordPress-ი დააპდეიტდა 4.2 ვერსიაზე, ამ უკანასკნელს კი get_avatar_url-ის ხელით გაწერილ ფუქნციაზე ‘ალერგია’ დაეწყო და მთელი სისტემა დაბლოკა.
მოკლედ აქამდე სტატიების ავტორების ფოტოებს (ავატარებს) ასე ვაჩენდი:
function get_avatar_url($get_avatar){ preg_match("/src='(.*?)'/i", $get_avatar, $matches); return $matches[1]; }
და მერე ტემპლეიტში ვიძახებდით შემდეგნაირად :
< img src="<? echo get_avatar_url(get_avatar( $curauth->ID, 80 )); ?>" align="left" class="authorimage" />
კოდის სრული განხილვა ნახეთ ამ ვებგვერდზე: http://goo.gl/dWZ0Ka
WordPress 4.2 -ში ეს კოდი აღარ მუშაობს.
ღრმა კვლევა არ ჩამიტარებია თუ რატომ, პირდაპირ ახალ მეთოდზე მუშაობა დავიწყე. მოკლედ თუ თქვენც აქამდე წინა ან სხვა მეთოდს იყენებდით და აღარ მუშაობს, ჩემი კოდი სავარაუდოდ წაგადგებათ:
function my_gravatar_url() { // ვიღებთ მომხმარებლის იმეილს $user_email = get_the_author_meta( 'user_email' ); // ვაკონვერტირებთ იმეილს md5 hash-ში და სურათის ზომას ვაყენებთ 80 პიქსელზე $user_gravatar_url = 'http://www.gravatar.com/avatar/' . md5($user_email) . '?s=80'; // გამოგვაქვს უშუალოდ სურათის url echo $user_gravatar_url; }
ტემპლეიტში კი უბრალოდ იძახებთ ფუნქციას საჭირო ადგილას (img ტეგში src ატრიბუტში)
< img src="<?php my_gravatar_url() ?>" />
შენიშვნა: გამოძახება ლუპის (loop) შიგნით უნდა ხდებოდეს ვინაიდან ფუნქციას სჭირდება ამოიცნოს მომხარებელი და ბაზიდან ამოიღოს მისი იმეილის მისამართი.
პოსტი PCMania-ს ფორუმის არქივიდან.