The Social Icon is a foundational block that displays various icons linking to different social profiles or sites. Each social service is registered as a variation of this block.
Adding new social icons
The core maintains certain standards for adding new social icons. To add a new variation to WordPress, it must be well-established and popular.
To evaluate if a social service should be added, contributors will consider the following factors:
- Is the service popular enough for core developers to have heard of it before? Is it “mainstream?”
- How long has the service been online?
- Does it have a Wikipedia article?
- Is there a plugin adding social icons in the repository that includes the services in question and has a considerable number of active installations?
- Is this social service frequently requested?
Adding custom social icons
Starting from WordPress 6.9, it’s possible to add custom social icons to your site. See:
- Pull Request that introduced custom social icons – #70261.
- Developer Blog tutorial for custom social icons – Registering custom social icons in WordPress 6.9.
Display an icon linking to a social profile or site.
Block Relationships
Parent blocks (direct):
– core/social-links
Attributes
Defined via the attributes property in block.json.
| Attribute | Type | Default | Description |
|---|---|---|---|
url |
string |
— | Role: content |
service |
string |
— | — |
label |
string |
— | Role: content |
rel |
string |
— | — |
Supports
Defined via the supports property in block.json.
anchor:truereusable:falsehtml:falseinteractivity:clientNavigation:true
Context
Defined via the usesContext and providesContext properties in block.json.
Uses context:
openInNewTabshowLabelsiconColoriconColorValueiconBackgroundColoriconBackgroundColorValue
Block Markup
This is a dynamic block. It is rendered on the server and does not save HTML in post content.
In post content, it is stored as a block comment:
<!-- wp:social-link {"service":"spotify","url":"https://example.com/"} /-->
Source
- block.json (reference)
- Source directory — browse
edit.js,save.js,index.php, and more.