Epiphyt
@epiphyt-en.epiph.yt.ap.brid.gy
📤 1
📥 0
📝 23
🌉 bridged from ⁂
https://epiph.yt/en
, follow
@ap.brid.gy
to interact
In WordPress 7.0, two new typography settings arrived within the block editor to set a line indentation and use the “Fit text” feature. The latter already has been part of WordPress 6.9 as block style. For me, such settings are usually not necessary for most people […]
[Original post on epiph.yt]
4 days ago
0
0
0
With version 1.6.0, Block Control gained some needed love to be fully compatible with the latest WordPress versions and also a new feature for feeds – they’re not dead. […] https://epiph.yt/en/blog/2026/block-control-1-6-0-released/
#Block
#BlockControl
#BlockEditor
#Legal
#Plugin
#Update
[…]
loading . . .
Original post on epiph.yt
https://epiph.yt/en/blog/2026/block-control-1-6-0-released/
15 days ago
0
0
1
After five months of work I’m happy to release the new versions 3.0.0 for Impressum Plus and Impressum, respectively. And even though there isn’t much visible on the surface, it’s the required step to take them to the next level. […] […]
loading . . .
Original post on epiph.yt
https://epiph.yt/en/blog/2026/impressum-plus-and-impressum-3-0-0-released/
18 days ago
0
0
0
More often than I want, I see directly enqueuing assets via wp_enqueue_script or wp_enqueue_style without checking whether the asset is actually used on the current page. This may hurt performance. But it also has a negative implication for developers. […] […]
loading . . .
Original post on epiph.yt
https://epiph.yt/en/blog/2026/wordpress-only-register-your-asset-until-its-needed/
about 1 month ago
0
2
0
When linking a word in WordPress and publishing it in the Fediverse via ActivityPub, those links are getting removed. But what if you want to keep the links? […] https://epiph.yt/en/blog/2026/activitypub-show-links-behind-text/
#ActivityPub
#Fediverse
#Plugin
#WordPress
loading . . .
# ActivityPub: Show links behind text Published: April 23, 2026 by Matze – Leave a comment When linking a word in WordPress and publishing it in the Fediverse via ActivityPub, those links are getting removed. But what if you want to keep the links? When asked about this in a feature request at GitHub, @obenland came up with a pretty nice solution I want to share here, which does exactly what I wanted. In the end, the following text in WordPress: > The quick brown fox jumps over the lazy dog Becomes this in the Fediverse: > The quick brown fox (https://en.wikipedia.org/wiki/Fox) jumps over the lazy dog I just needed to adjust the filter, since I’m using only the excerpt when sharing my post content in **Settings > ActivityPub > Settings > Activities > Post content** via `[ap_excerpt]` (in a legacy template system). Thus, I cannot use the suggested filter `activitypub_the_content` as in the original. I need to use the generic `post_content` and check manually whether the current request is an ActivityPub request. This is the final code: <?php /** * Transform links behind text to text (link). * * @see https://github.com/Automattic/wordpress-activitypub/issues/1859#issuecomment-3480894020 * * @param string $content Current content * @return string Updated content */ function plugin_format_activitypub_links_with_urls( string $content ): string { if ( ! \function_exists( 'Activitypub\is_activitypub_request' ) || ! \Activitypub\is_activitypub_request() ) { return $content; } $content = \preg_replace_callback( '/<a\s+([^>]*?)href=["\']([^"\']+)["\']([^>]*?)>(.*?)<\/a>/is', function( $matches ) { $href = $matches[2]; $link_text = \wp_strip_all_tags( $matches[4] ); if ( empty( $href ) || \strpos( $href, '#' ) === 0 ) { return $matches[0]; } if ( $link_text === $href ) { return $matches[0]; } return $link_text . ' (' . \esc_url( $href ) . ')'; }, $content ); return $content; } \add_filter( 'post_content', 'plugin_format_activitypub_links_with_urls' ); Code language: PHP (php) This does only affect content that is viewed by a Fediverse client, though. It does not alter the content when embedding a post in another post on another page or similar.
https://epiph.yt/en/blog/2026/activitypub-show-links-behind-text/
about 2 months ago
0
1
1
When purchasing a product in WooCommerce, it sends several emails by default. This delays the actual process, which already can take very long. Thus, a good strategy would be to send them asynchronously via a cron job. […] […]
loading . . .
Original post on epiph.yt
https://epiph.yt/en/blog/2026/woocommerce-performance-send-emails-asynchronously/
about 2 months ago
0
0
0
In notices inside the block editor, you can define actions that are displayed below the notice. By default, these cannot be open in a new tab. But what if you want to? […] https://epiph.yt/en/blog/2026/block-editor-open-notice-action-in-a-new-tab/
#BlockEditor
#Notices
#WordPress
loading . . .
# Block editor: Open notice action in a new tab Published: March 26, 2026 by Matze – Leave a comment In notices inside the block editor, you can define actions that are displayed below the notice. By default, these cannot be open in a new tab. But what if you want to? The builtin notice system in the block editor allows you to create info, error, success and warning notices without creating a whole system yourself. Additionally, you can attach a list of actions to them. They will be displayed below the actual notice and render as buttons. And they also work similar to the button component in general. However, there is no support for the `target` attribute within the notice system. Another problem is the styling when you want to display the button as a plain link, because simply adding the `variant: 'link'` to the action does not create a link button by default if no `url` is provided (which cannot be used here, since then the link will never open in a new tab). Instead, it is forcefully changed to variant `secondary` and thus renders a button. ## Mitigate the `target` problem To workaround the problem with no explicit `target` attribute, we can use the `onClick` parameter and use a `window.open()` with the second parameter as `_blank` in order to create a link that opens in a new tab. ## Correct styling for plain links Since the default is to render a `secondary` styled button in this case, we need to remove these classes. This can be done by setting `noDefaultClasses` to `true`, together with `variant` being `link`. This then will properly render the button as a plain link. ## Example As an example, this is what a success notice looks like with an action as plain link, that opens in a new tab: createSuccessNotice( __( 'Success notice.', 'my-plugin' ), { actions: [ { label: __( 'Go to page (opens in a new tab) ↗', 'my-plugin' ), noDefaultClasses: true, // make sure link variant is used even without URL onClick: () => window.open( '#', '_blank' ), variant: 'link', }, ], } ); Code language: JavaScript (javascript) Please make sure to notify the user about the link being opened in a new tab as in the example for improved accessibility if you force it like that.
https://epiph.yt/en/blog/2026/block-editor-open-notice-action-in-a-new-tab/
2 months ago
0
0
0
When it comes to performance debugging, there are a wide variety of tools available. The last years, I searched for one that is actually easily usable and provides easy access in identifying bottlenecks. There are some that are specific to WordPress, e.g. as plugins, some allow general […]
loading . . .
Original post on epiph.yt
https://epiph.yt/en/blog/2026/php-performance-debugging-tools-for-wordpress/
3 months ago
0
0
0
When I was working on schema data, I got an issue where a shortcode was executed within that data, which was not desired. So I looked for a way to disable this particular shortcode temporarily. I didn’t want to disable all shortcodes, which would have been easier by just removing the […]
loading . . .
Original post on epiph.yt
https://epiph.yt/en/blog/2026/temporarily-disable-a-shortcode-in-wordpress/
3 months ago
0
0
0
There are multiple reasons why your website should have an accessibility information. Hopefully, they can convince you to create one if you don’t already have one. And if you do, maybe take the time to review it. Maybe something changed since the last review or since the creation. […] […]
loading . . .
Original post on epiph.yt
https://epiph.yt/en/blog/2026/why-your-website-should-have-an-accessibility-information/
4 months ago
0
0
2
Custom styling settings for custom elements could be so easy: use the block selector API to define the selector where the styles should apply and enable the applicable styles in the block.json. But unfortunately, it doesn’t work this way. If you need to apply styling to a custom element inside […]
loading . . .
Original post on epiph.yt
https://epiph.yt/en/blog/2026/block-editor-apply-styling-settings-to-custom-elements/
5 months ago
0
0
0
Fresh out of the oven and still piping hot, I have just released version 1.12.0 of Embed Privacy with several improvements. Find out more in the post. […] https://epiph.yt/en/blog/2026/embed-privacy-1-12-0-released/
#Block
#EmbedPrivacy
#i18n
#l10n
#Update
#WordPress
loading . . .
# Embed Privacy 1.12.0 released Published: January 14, 2026 by Matze – Leave a comment Fresh out of the oven and still piping hot, I have just released version 1.12.0 of Embed Privacy with several improvements. Find out more in the post. ## Performance Through real-world examples, I notices that Embed Privacy could slow down the content generation quite a bit, especially if there were multiple hundreds or thousands of blocks within the content. This has been fixed in two ways. ### Ignoring block types For several block types, it’s guaranteed that they usually cannot contain embeds. Thus, they are now ignored by default. This approach is rather invasive and ignores any registered block except for the HTML block, as regular blocks – e.g. the embed block – is handled differently. This way, I maintain the general functionality to process blocks by themselves while ignoring most blocks out of the box. You can use the filter `embed_privacy_ignored_blocks` to modify the list of ignored blocks if you need. ### Caching Through caching, some repetitive tasks of the list of embed providers are now done only once, resulting in way less executions of their initializing process, even though they were fast. This ensures the most optimal code execution performance possible. ## Dynamic content Dynamic content is always sort of special. While Embed Privacy can handle dynamic content when it triggers one of the available filter within WordPress, e.g. `the_content`, it can replace the embedded content. However, interacting with the overlay then relies on additional JavaScript, that needs to be loaded. If the JavaScript is not necessary on the page itself without the dynamic content, it won’t be loaded. And this is intentional for performance reason. However, if you need it, you can now enable a new option “Force script loading” to allow loading the script of Embed Privacy on every page to allow interacting with dynamic content. ## English content in otherwise translated WordPress instances It may happen that during installation, there are no translations loaded yet for the locale you’ve set in your WordPress instance. Thus, the general description of the default embed providers stays in English, since it’s only written once to the database during installation. This is now handled by Embed Privacy 1.12.0 to load such localized content dynamically, if the database contains the English version but you’ve set a different locale. ## That’s it That were the biggest changes for Embed Privacy 1.12.0. For all changes, please visit the changelog.
https://epiph.yt/en/blog/2026/embed-privacy-1-12-0-released/
5 months ago
0
0
0
Working with multilingual content can be demanding, especially when using different domains for the languages, since it may require you to be logged in for every domain. […] https://epiph.yt/en/blog/2026/polylang-accessing-languages-via-url-parameter/ #i18n #l10n […]
[Original post on epiph.yt]
5 months ago
0
0
0
This weekend, I released Form Block 1.7.0 and made sure that all other plugins correctly state their support for WordPress 6.9. There are some cool new features I would like to talk about. […] https://epiph.yt/en/blog/2025/form-block-1-7-0-released-and-more/ […]
[Original post on epiph.yt]
6 months ago
0
0
0
By default, the WordPress importer detects existing data and doesn’t allow updating them. But what if you explicitly want to update existing data – especially metadata? […] https://epiph.yt/en/blog/2025/wordpress-importer-allow-updating-metadata/
#Importer
#Metadata
#Update
#WordPress
6 months ago
0
0
0
If you’re using links with anchors in your menus, you may notice that they sometimes automatically get the class current-menu-item, which may not what you want to. This is especially true if you have a sub-menu with anchors pointing to an ID on a sub page. This […]
[Original post on epiph.yt]
7 months ago
0
0
0
Classic widget menus have a builtin aria-label, which either uses the widget’s title or a generic “Menu”. This can be improved. […] https://epiph.yt/en/blog/2025/use-menu-name-as-aria-label-for-widget-menus/
#ARIA
#Menu
#Navigation
#Widget
#WordPress
7 months ago
0
0
0
switch statements are usually underrepresented, at least in PHP code. But they don’t have to be and have some nifty features, which makes life easier. […] https://epiph.yt/en/blog/2025/when-using-switch-without-break-or-switch-true/
#PHP
#switch
#WebDev
#WebDevelopment
8 months ago
1
2
0
The new versions for Impressum Plus and Impressum focus on enhancing existing functionality as well as bug fixes. They thus refine the overall experience of those plugins. […] https://epiph.yt/en/blog/2025/impressum-plus-2-14-0-and-impressum-2-2-0-released/
#Plugin
#Update
#WordPress
8 months ago
0
0
1
I’m happy to be able to announce the availability of Form Block 1.6.0 and Form Block Pro 1.4.0 with months in the making and some really cool new features. And it’s just the base for many more possibilities in the future. […] […]
[Original post on epiph.yt]
9 months ago
0
0
0
switch_to_blog is a handy function to switch sites (“blogs”) in a multisite. However, beware that you might have problems with certain data in such context switches. […] https://epiph.yt/en/blog/2025/beware-when-using-switch_to_blog/
#context
#Multisite
#WordPress
9 months ago
0
0
0
If you use “classic” navigation menus in Appearance > Menus, you can use their name there as label for your menus, which are used in landmarks. This improves accessibility of your menus and thus is recommended. […] […]
[Original post on epiph.yt]
9 months ago
0
0
0
When I first stumbled upon fieldset and legend, I didn’t know much about HTML and especially not about accessibility. Everything I noticed was the special way a legend is displayed inside a fieldset – or rather: alongside the border of a fieldset. Fast forward to […]
[Original post on epiph.yt]
10 months ago
0
0
0
you reached the end!!
feeds!
log in