亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Home CMS Tutorial WordPress WordPress script to replace images with letters: LetterAvatar

WordPress script to replace images with letters: LetterAvatar

Apr 21, 2020 pm 01:55 PM
wordpress

WordPress script to replace images with letters: LetterAvatar

下面由WordPress技巧欄目給大家介紹關(guān)于用字母替代圖片腳本:LetterAvatar,希望對需要的朋友有所幫助!

基于canvas,通過toDataURL動態(tài)生成base64圖片。目前我主題的Gravatar頭像,就是利用這個LetterAvatar腳本實現(xiàn)未設(shè)置Gravatar頭像則讀取ALT標(biāo)簽,自動生成首字圖片替代默認(rèn)的頭像圖片。

WordPress script to replace images with letters: LetterAvatar

之前已有WP愛好者制作了一款:mk-letter-avatar 字母頭像插件,試了一下很好用,不過打開瀏覽器開者工具發(fā)現(xiàn)產(chǎn)生大量404錯誤,看了一下源代碼,該插件是通過無頭像返回404錯誤,觸發(fā)onerror事件用自動生成的字母圖片替換src圖片地址,判斷方式不是很合理,如果不是因為個缺點我都想直接拿來用了,如果作者再優(yōu)化一下,絕對是款優(yōu)秀實用的插件。

我的實現(xiàn)原理和插件不同,配合頭像本地緩存功能,判斷無頭像后,直接為無頭像的圖片添加特定的class類,然后通過LetterAvatar腳本替換圖片。

需要注意的是上面提到的插件,Gravatar頭像圖片必須有alt標(biāo)簽屬性,否則不會生成正常的圖片,可惜大部分主題默認(rèn)Gravatar頭像alt標(biāo)簽屬性是空的.....

如果想自動為Gravatar頭像添加alt標(biāo)簽屬性,可以將下面的代碼添加到當(dāng)前主題函數(shù)模板functions.php中:

function zm_gravatar_alt($altgravatar) {
if (have_comments()) {
$alt = get_comment_author();
}
else {
$alt = get_the_author_meta('display_name');
}
$altgravatar= str_replace('alt=\'\'', 'alt=\'' . $alt . '\' title=\'Gravatar for ' . $alt . '\'', $altgravatar);
return $altgravatar;
}
add_filter('get_avatar', 'zm_gravatar_alt');

之后,自動將評論者昵稱做為alt屬性。

本文只是自己做個記錄,并不是教大家怎么弄這個頭像,如果認(rèn)為這字母頭像還不錯,請直接使用上面介紹的插件。

另附LetterAvatar腳本演示代碼:

<!DOCTYPE html>
<html>
<h1>Letter Avatar</h1>
 
<small><strong>用法:</strong></small>
<pre class="brush:php;toolbar:false">
<code><img src="" class="avatar photo" width="256" height="256" alt="知更鳥" color="#c40000"></code>
知更鳥 更鳥 鳥 <script> /* * LetterAvatar * * Artur Heinze * Create Letter avatar based on Initials * based on https://gist.github.com/leecrossley/6027780 */ (function(w, d){ function LetterAvatar (name, size, color) { name = name || &#39;&#39;; size = size || 60; var colours = [ "#1abc9c", "#2ecc71", "#3498db", "#9b59b6", "#34495e", "#16a085", "#27ae60", "#2980b9", "#8e44ad", "#2c3e50", "#f1c40f", "#e67e22", "#e74c3c", "#ecf0f1", "#95a5a6", "#f39c12", "#d35400", "#c0392b", "#bdc3c7", "#7f8c8d" ], nameSplit = String(name).split(&#39; &#39;), initials, charIndex, colourIndex, canvas, context, dataURI; if (nameSplit.length == 1) { initials = nameSplit[0] ? nameSplit[0].charAt(0):&#39;?&#39;; } else { initials = nameSplit[0].charAt(0) + nameSplit[1].charAt(0); } if (w.devicePixelRatio) { size = (size * w.devicePixelRatio); } charIndex = (initials == &#39;?&#39; ? 72 : initials.charCodeAt(0)) - 64; colourIndex = charIndex % 20; canvas = d.createElement(&#39;canvas&#39;); canvas.width = size; canvas.height = size; context = canvas.getContext("2d"); context.fillStyle = color ? color : colours[colourIndex - 1]; context.fillRect (0, 0, canvas.width, canvas.height); context.font = Math.round(canvas.width/2)+"px Arial"; context.textAlign = "center"; context.fillStyle = "#FFF"; context.fillText(initials, size / 2, size / 1.5); dataURI = canvas.toDataURL(); canvas = null; return dataURI; } LetterAvatar.transform = function() { Array.prototype.forEach.call(d.querySelectorAll(&#39;img[alt]&#39;), function(img, name, color) { name = img.getAttribute(&#39;alt&#39;); color = img.getAttribute(&#39;color&#39;); img.src = LetterAvatar(name, img.getAttribute(&#39;width&#39;), color); img.removeAttribute(&#39;avatar&#39;); img.setAttribute(&#39;alt&#39;, name); }); }; // AMD support if (typeof define === &#39;function&#39; && define.amd) { define(function () { return LetterAvatar; }); // CommonJS and Node.js module support. } else if (typeof exports !== &#39;undefined&#39;) { // Support Node.js specific `module.exports` (which can be a function) if (typeof module != &#39;undefined&#39; && module.exports) { exports = module.exports = LetterAvatar; } // But always support CommonJS module 1.1.1 spec (`exports` cannot be a function) exports.LetterAvatar = LetterAvatar; } else { window.LetterAvatar = LetterAvatar; d.addEventListener(&#39;DOMContentLoaded&#39;, function(event) { LetterAvatar.transform(); }); } })(window, document); </script>

原項目地址:https://github.com/daolavi/LetterAvatar

推薦教程:《WordPress

The above is the detailed content of WordPress script to replace images with letters: LetterAvatar. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1488
72
How to adjust the wordpress article list How to adjust the wordpress article list Apr 20, 2025 am 10:48 AM

There are four ways to adjust the WordPress article list: use theme options, use plugins (such as Post Types Order, WP Post List, Boxy Stuff), use code (add settings in the functions.php file), or modify the WordPress database directly.

10 latest tools for web developers 10 latest tools for web developers May 07, 2025 pm 04:48 PM

Web development design is a promising career field. However, this industry also faces many challenges. As more businesses and brands turn to the online marketplace, web developers have the opportunity to demonstrate their skills and succeed in their careers. However, as demand for web development continues to grow, the number of developers is also increasing, resulting in increasingly fierce competition. But it’s exciting that if you have the talent and will, you can always find new ways to create unique designs and ideas. As a web developer, you may need to keep looking for new tools and resources. These new tools and resources not only make your job more convenient, but also improve the quality of your work, thus helping you win more business and customers. The trends of web development are constantly changing.

How to import the source code of wordpress How to import the source code of wordpress Apr 20, 2025 am 11:24 AM

Importing WordPress source code requires the following steps: Create a sub-theme for theme modification. Import the source code and overwrite the files in the sub-topic. Activate the sub-theme to make it effective. Test the changes to make sure everything works.

How to build a website for wordpress host How to build a website for wordpress host Apr 20, 2025 am 11:12 AM

To build a website using WordPress hosting, you need to: select a reliable hosting provider. Buy a domain name. Set up a WordPress hosting account. Select a topic. Add pages and articles. Install the plug-in. Customize your website. Publish your website.

How to add your WordPress site in Yandex Webmaster Tools How to add your WordPress site in Yandex Webmaster Tools May 12, 2025 pm 09:06 PM

Do you want to connect your website to Yandex Webmaster Tools? Webmaster tools such as Google Search Console, Bing and Yandex can help you optimize your website, monitor traffic, manage robots.txt, check for website errors, and more. In this article, we will share how to add your WordPress website to the Yandex Webmaster Tool to monitor your search engine traffic. What is Yandex? Yandex is a popular search engine based in Russia, similar to Google and Bing. You can excel in Yandex

How to set, get and delete WordPress cookies (like a professional) How to set, get and delete WordPress cookies (like a professional) May 12, 2025 pm 08:57 PM

Do you want to know how to use cookies on your WordPress website? Cookies are useful tools for storing temporary information in users’ browsers. You can use this information to enhance the user experience through personalization and behavioral targeting. In this ultimate guide, we will show you how to set, get, and delete WordPresscookies like a professional. Note: This is an advanced tutorial. It requires you to be proficient in HTML, CSS, WordPress websites and PHP. What are cookies? Cookies are created and stored when users visit websites.

How to fix HTTP image upload errors in WordPress (simple) How to fix HTTP image upload errors in WordPress (simple) May 12, 2025 pm 09:03 PM

Do you need to fix HTTP image upload errors in WordPress? This error can be particularly frustrating when you create content in WordPress. This usually happens when you upload images or other files to your CMS using the built-in WordPress media library. In this article, we will show you how to easily fix HTTP image upload errors in WordPress. What is the reason for HTTP errors during WordPress media uploading? When you try to upload files to Wo using WordPress media uploader

How to register a wordpress account How to register a wordpress account Apr 20, 2025 am 11:45 AM

To create an account on WordPress, simply visit its website, select the registration option, fill in the registration form, and verify your email address. Other ways to register include using a Google account or Apple ID. The benefits of signing up include creating a website, gaining features, joining the community, and gaining support.

See all articles