2012-11-24 42 views
9

Tôi đã cố gắng sử dụng get_avatar để hiển thị gravatar của tác giả theo từng bài đăng trong mẫu wordpress với lớp đã áp dụng nhưng tôi không thể tìm cách thêm lớp = "pic-2 "để mã hình ảnh gravatar hoặc thậm chí thay đổi kích thước của gravatar và chiều rộng thành 100px và 77px tương ứngThêm lớp vào gravatar img trong wordpress

<?php echo get_avatar(get_the_author_meta('ID'), 32); ?> 

Bất kỳ guys trợ giúp nào ??

Trả lời

18

Tôi nghĩ cách tốt nhất để xử lý việc này là sử dụng bộ lọc thay vì sử dụng jQuery như George đề xuất. Bạn chỉ cần thêm điều này vào tệp functions.php của chủ đề của mình.

add_filter('get_avatar','add_gravatar_class'); 

function add_gravatar_class($class) { 
    $class = str_replace("class='avatar", "class='avatar pic-2", $class); 
    return $class; 
} 

* Lưu ý, tôi chưa thử nghiệm điều này, nhưng tin rằng nó sẽ hoạt động. Xem this thread để biết thêm thông tin.

1

Kiểm tra WordPress Codex cho biết thêm:

http://codex.wordpress.org/Using_Gravatars

Đối với kích thước, hãy thử gói tham số thứ hai như sau: sản lượng html

<?php echo get_avatar(get_the_author_meta('ID'), $size = '96'); ?> 

Giá trị mặc định là như vậy:

<img alt='' src='http://gravatarurl_or_default' class='avatar avatar-$size' height='$size' width='$size' /> 

Bạn có thể tạo kiểu mặc định c lass 'avatar' thay cho 'pic-2'. Nếu bạn vẫn muốn thêm một lớp học, bạn có thể làm điều đó thông qua javascript như vậy:

$("img[class='avatar']").addClass("pic-2"); 

Hy vọng điều này sẽ giúp! :)

+0

Cảm ơn bạn đã liên kết! Tôi đã nhận tôi làm việc: D http://thelifeleveler.com/the-most-important-first-step-to-self-improvement/ –

0

Một cách khác để thực hiện việc này cho người tìm kiếm trong tương lai, thao tác chuỗi rất đơn giản, có thể an toàn hơn một chút nếu họ thay đổi hàm trong tương lai, ví dụ: nó sẽ luôn luôn có một 'lớp'.

$grvimg = get_avatar('email address', 200); 
    $grvimg = explode("class='", $grvimg); 
    $grvimg[1] = 'your-class ' . $grvimg[1]; 
    $grvimg = $grvimg[0] . $grvimg[1]; 
    echo $grvimg; 
1

Nếu câu trả lời @Ryan (đánh dấu là giải pháp) làm việc Does'nt cho bạn, cố gắng thay đổi

add_filter('get_avatar','add_gravatar_class'); 

function add_gravatar_class($class) { 
    $class = str_replace("class='avatar", "class='avatar pic-2", $class); 
    return $class; 
} 

vào

add_filter('get_avatar','add_gravatar_class'); 

function add_gravatar_class($class) { 
    $class = str_replace('class="avatar', 'class="avatar pic-2', $class); 
    return $class; 
} 

làm việc của đầu này đối với tôi sau khi thay thế "với '.

Rất tiếc, tôi không viết nhận xét này làm nhận xét cho câu trả lời đó, nhưng tôi không có 50 danh tiếng để nhận xét các bài đăng khác.

+0

Cảm ơn bạn, cuối cùng đã tìm thấy một giải pháp cho điều này :) – Mike

Các vấn đề liên quan