Gutenberg disallow certain custom blocks but keep all core blocks?
I'm writing a function to allow only some custom blocks - essentially I want to register all the blocks, then based on a database table of 'selected' blocks disallow any other custom block.
I can use allowed_block_types
to make an array of allowed blocks, but it wipes all the core ones, is there a way to either get a reliable list of core blocks, or only add a filter for plugin/theme registered blocks? Or possibly, allow all block
categories then my own block category is filtered?
plugins functions block-editor
add a comment |
I'm writing a function to allow only some custom blocks - essentially I want to register all the blocks, then based on a database table of 'selected' blocks disallow any other custom block.
I can use allowed_block_types
to make an array of allowed blocks, but it wipes all the core ones, is there a way to either get a reliable list of core blocks, or only add a filter for plugin/theme registered blocks? Or possibly, allow all block
categories then my own block category is filtered?
plugins functions block-editor
add a comment |
I'm writing a function to allow only some custom blocks - essentially I want to register all the blocks, then based on a database table of 'selected' blocks disallow any other custom block.
I can use allowed_block_types
to make an array of allowed blocks, but it wipes all the core ones, is there a way to either get a reliable list of core blocks, or only add a filter for plugin/theme registered blocks? Or possibly, allow all block
categories then my own block category is filtered?
plugins functions block-editor
I'm writing a function to allow only some custom blocks - essentially I want to register all the blocks, then based on a database table of 'selected' blocks disallow any other custom block.
I can use allowed_block_types
to make an array of allowed blocks, but it wipes all the core ones, is there a way to either get a reliable list of core blocks, or only add a filter for plugin/theme registered blocks? Or possibly, allow all block
categories then my own block category is filtered?
plugins functions block-editor
plugins functions block-editor
asked Jan 28 at 17:26
AravonaAravona
365317
365317
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
AFAIK there is only one way to remove blocks from Gutenberg - you have to use allowed_block_types
filter.
Unfortunately Gutenberg developers are not very familiar with WordPress hooks and filters, so they created a little monster with this one. So instead of passing a list of core blocks in there, they pass true
to enable all blocks. That way you're unable to obtain the list of all blocks registered.
So if you want to disable just one block, then you have to get all blocks bu yourself...
Here's the list of core blocks:
- core/shortcode
- core/image
- core/gallery
- core/heading
- core/quote
- core/embed
- core/list
- core/separator
- core/more
- core/button
- core/pullquote
- core/table
- core/preformatted
- core/code
- core/html
- core/freeform
- core/latest-posts
- core/categories
- core/cover-image
- core/text-columns
- core/verse
- core/video
- core/audio
- core/block
core/paragraph
core-embed/twitter
- core-embed/youtube
- core-embed/facebook
- core-embed/instagram
- core-embed/wordpress
- core-embed/soundcloud
- core-embed/spotify
- core-embed/flickr
- core-embed/vimeo
- core-embed/animoto
- core-embed/cloudup
- core-embed/collegehumor
- core-embed/dailymotion
- core-embed/funnyordie
- core-embed/hulu
- core-embed/imgur
- core-embed/issuu
- core-embed/kickstarter
- core-embed/meetup-com
- core-embed/mixcloud
- core-embed/photobucket
- core-embed/polldaddy
- core-embed/reddit
- core-embed/reverbnation
- core-embed/screencast
- core-embed/scribd
- core-embed/slideshare
- core-embed/smugmug
- core-embed/speaker
- core-embed/ted
- core-embed/tumblr
- core-embed/videopress
- core-embed/wordpress-tv
On the other hand...
It's a lot easier to unregister given block in JS... In there you can use:
wp.blocks.unregisterBlockType( 'core/verse' );
Quite the list! I appreciate the effort getting it. It is frustrating there is not a better hook from the Gutenberg developers - thank you for the answer.
– Aravona
Jan 29 at 9:31
Totally agree on that. It should be possible to get list of all registered blocks with PHP...
– Krzysiek Dróżdż
Jan 29 at 9:41
add a comment |
There's a whitelist blocks removal example from the Gutenberg Handbook:
var allowedBlocks = [
'core/paragraph',
'core/image',
'core/html',
'core/freeform'
];
wp.blocks.getBlockTypes().forEach( function( blockType ) {
if ( allowedBlocks.indexOf( blockType.name ) === -1 ) {
wp.blocks.unregisterBlockType( blockType.name );
}
} );
One might try to modify it to remove blocks that do not start with core
and are not part of allowedExtraBlocks
(untested):
var allowedExtraBlocks = [
'my-plugin/block-example-1',
'my-plugin/block-example-2'
];
wp.blocks.getBlockTypes().forEach( function( blockType ) {
if ( ! blockType.name.startsWith( 'core' )
&& allowedExtraBlocks.indexOf( blockType.name ) === -1
) {
wp.blocks.unregisterBlockType( blockType.name );
}
} );
One could adjust this further to match block names that start with core/
or core-embed/
instead of core
to be more precise.
The blacklist example wraps it with:
wp.domReady( function() {
// ...
} );
so this might be needed for the whitelist example too.
Here's a quick way to see available blocks on the editing page, in the browser's console:
In the 5.1 version there are 70 core blocks available, according to
wp.blocks.getBlockTypes().length;
The list of available block names:
wp.blocks.getBlockTypes().forEach( function( blockType ){ console.log( blockType.name ); });
Here's a table of available blocks:
console.table( wp.blocks.getBlockTypes() );
1
The part I really don’t like in this code is that it’s on JS side. It would be nice to be able to restrict this on PHP side... :(
– Krzysiek Dróżdż
Jan 28 at 20:42
It would be nice to have a PHP version, maybe one could look further atWP_Block_Type_Registry::get_instance()->get_all_registered()
within theallowed_block_types
filter callback, but it will probably not show all blocks there. @KrzysiekDróżdż
– birgire
Jan 28 at 20:46
2
No, it does not. I’ve already created a ticket with such enhancement in trac
– Krzysiek Dróżdż
Jan 28 at 20:48
2
Thanks for this answer! I agree with @KrzysiekDróżdż that it's frustrating there is no PHP solution to this as it stands. I appreciate the answer though and a JS solution is still viable within my plugin.
– Aravona
Jan 29 at 9:29
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "110"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fwordpress.stackexchange.com%2fquestions%2f326959%2fgutenberg-disallow-certain-custom-blocks-but-keep-all-core-blocks%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
AFAIK there is only one way to remove blocks from Gutenberg - you have to use allowed_block_types
filter.
Unfortunately Gutenberg developers are not very familiar with WordPress hooks and filters, so they created a little monster with this one. So instead of passing a list of core blocks in there, they pass true
to enable all blocks. That way you're unable to obtain the list of all blocks registered.
So if you want to disable just one block, then you have to get all blocks bu yourself...
Here's the list of core blocks:
- core/shortcode
- core/image
- core/gallery
- core/heading
- core/quote
- core/embed
- core/list
- core/separator
- core/more
- core/button
- core/pullquote
- core/table
- core/preformatted
- core/code
- core/html
- core/freeform
- core/latest-posts
- core/categories
- core/cover-image
- core/text-columns
- core/verse
- core/video
- core/audio
- core/block
core/paragraph
core-embed/twitter
- core-embed/youtube
- core-embed/facebook
- core-embed/instagram
- core-embed/wordpress
- core-embed/soundcloud
- core-embed/spotify
- core-embed/flickr
- core-embed/vimeo
- core-embed/animoto
- core-embed/cloudup
- core-embed/collegehumor
- core-embed/dailymotion
- core-embed/funnyordie
- core-embed/hulu
- core-embed/imgur
- core-embed/issuu
- core-embed/kickstarter
- core-embed/meetup-com
- core-embed/mixcloud
- core-embed/photobucket
- core-embed/polldaddy
- core-embed/reddit
- core-embed/reverbnation
- core-embed/screencast
- core-embed/scribd
- core-embed/slideshare
- core-embed/smugmug
- core-embed/speaker
- core-embed/ted
- core-embed/tumblr
- core-embed/videopress
- core-embed/wordpress-tv
On the other hand...
It's a lot easier to unregister given block in JS... In there you can use:
wp.blocks.unregisterBlockType( 'core/verse' );
Quite the list! I appreciate the effort getting it. It is frustrating there is not a better hook from the Gutenberg developers - thank you for the answer.
– Aravona
Jan 29 at 9:31
Totally agree on that. It should be possible to get list of all registered blocks with PHP...
– Krzysiek Dróżdż
Jan 29 at 9:41
add a comment |
AFAIK there is only one way to remove blocks from Gutenberg - you have to use allowed_block_types
filter.
Unfortunately Gutenberg developers are not very familiar with WordPress hooks and filters, so they created a little monster with this one. So instead of passing a list of core blocks in there, they pass true
to enable all blocks. That way you're unable to obtain the list of all blocks registered.
So if you want to disable just one block, then you have to get all blocks bu yourself...
Here's the list of core blocks:
- core/shortcode
- core/image
- core/gallery
- core/heading
- core/quote
- core/embed
- core/list
- core/separator
- core/more
- core/button
- core/pullquote
- core/table
- core/preformatted
- core/code
- core/html
- core/freeform
- core/latest-posts
- core/categories
- core/cover-image
- core/text-columns
- core/verse
- core/video
- core/audio
- core/block
core/paragraph
core-embed/twitter
- core-embed/youtube
- core-embed/facebook
- core-embed/instagram
- core-embed/wordpress
- core-embed/soundcloud
- core-embed/spotify
- core-embed/flickr
- core-embed/vimeo
- core-embed/animoto
- core-embed/cloudup
- core-embed/collegehumor
- core-embed/dailymotion
- core-embed/funnyordie
- core-embed/hulu
- core-embed/imgur
- core-embed/issuu
- core-embed/kickstarter
- core-embed/meetup-com
- core-embed/mixcloud
- core-embed/photobucket
- core-embed/polldaddy
- core-embed/reddit
- core-embed/reverbnation
- core-embed/screencast
- core-embed/scribd
- core-embed/slideshare
- core-embed/smugmug
- core-embed/speaker
- core-embed/ted
- core-embed/tumblr
- core-embed/videopress
- core-embed/wordpress-tv
On the other hand...
It's a lot easier to unregister given block in JS... In there you can use:
wp.blocks.unregisterBlockType( 'core/verse' );
Quite the list! I appreciate the effort getting it. It is frustrating there is not a better hook from the Gutenberg developers - thank you for the answer.
– Aravona
Jan 29 at 9:31
Totally agree on that. It should be possible to get list of all registered blocks with PHP...
– Krzysiek Dróżdż
Jan 29 at 9:41
add a comment |
AFAIK there is only one way to remove blocks from Gutenberg - you have to use allowed_block_types
filter.
Unfortunately Gutenberg developers are not very familiar with WordPress hooks and filters, so they created a little monster with this one. So instead of passing a list of core blocks in there, they pass true
to enable all blocks. That way you're unable to obtain the list of all blocks registered.
So if you want to disable just one block, then you have to get all blocks bu yourself...
Here's the list of core blocks:
- core/shortcode
- core/image
- core/gallery
- core/heading
- core/quote
- core/embed
- core/list
- core/separator
- core/more
- core/button
- core/pullquote
- core/table
- core/preformatted
- core/code
- core/html
- core/freeform
- core/latest-posts
- core/categories
- core/cover-image
- core/text-columns
- core/verse
- core/video
- core/audio
- core/block
core/paragraph
core-embed/twitter
- core-embed/youtube
- core-embed/facebook
- core-embed/instagram
- core-embed/wordpress
- core-embed/soundcloud
- core-embed/spotify
- core-embed/flickr
- core-embed/vimeo
- core-embed/animoto
- core-embed/cloudup
- core-embed/collegehumor
- core-embed/dailymotion
- core-embed/funnyordie
- core-embed/hulu
- core-embed/imgur
- core-embed/issuu
- core-embed/kickstarter
- core-embed/meetup-com
- core-embed/mixcloud
- core-embed/photobucket
- core-embed/polldaddy
- core-embed/reddit
- core-embed/reverbnation
- core-embed/screencast
- core-embed/scribd
- core-embed/slideshare
- core-embed/smugmug
- core-embed/speaker
- core-embed/ted
- core-embed/tumblr
- core-embed/videopress
- core-embed/wordpress-tv
On the other hand...
It's a lot easier to unregister given block in JS... In there you can use:
wp.blocks.unregisterBlockType( 'core/verse' );
AFAIK there is only one way to remove blocks from Gutenberg - you have to use allowed_block_types
filter.
Unfortunately Gutenberg developers are not very familiar with WordPress hooks and filters, so they created a little monster with this one. So instead of passing a list of core blocks in there, they pass true
to enable all blocks. That way you're unable to obtain the list of all blocks registered.
So if you want to disable just one block, then you have to get all blocks bu yourself...
Here's the list of core blocks:
- core/shortcode
- core/image
- core/gallery
- core/heading
- core/quote
- core/embed
- core/list
- core/separator
- core/more
- core/button
- core/pullquote
- core/table
- core/preformatted
- core/code
- core/html
- core/freeform
- core/latest-posts
- core/categories
- core/cover-image
- core/text-columns
- core/verse
- core/video
- core/audio
- core/block
core/paragraph
core-embed/twitter
- core-embed/youtube
- core-embed/facebook
- core-embed/instagram
- core-embed/wordpress
- core-embed/soundcloud
- core-embed/spotify
- core-embed/flickr
- core-embed/vimeo
- core-embed/animoto
- core-embed/cloudup
- core-embed/collegehumor
- core-embed/dailymotion
- core-embed/funnyordie
- core-embed/hulu
- core-embed/imgur
- core-embed/issuu
- core-embed/kickstarter
- core-embed/meetup-com
- core-embed/mixcloud
- core-embed/photobucket
- core-embed/polldaddy
- core-embed/reddit
- core-embed/reverbnation
- core-embed/screencast
- core-embed/scribd
- core-embed/slideshare
- core-embed/smugmug
- core-embed/speaker
- core-embed/ted
- core-embed/tumblr
- core-embed/videopress
- core-embed/wordpress-tv
On the other hand...
It's a lot easier to unregister given block in JS... In there you can use:
wp.blocks.unregisterBlockType( 'core/verse' );
answered Jan 28 at 17:50
Krzysiek DróżdżKrzysiek Dróżdż
17.5k63146
17.5k63146
Quite the list! I appreciate the effort getting it. It is frustrating there is not a better hook from the Gutenberg developers - thank you for the answer.
– Aravona
Jan 29 at 9:31
Totally agree on that. It should be possible to get list of all registered blocks with PHP...
– Krzysiek Dróżdż
Jan 29 at 9:41
add a comment |
Quite the list! I appreciate the effort getting it. It is frustrating there is not a better hook from the Gutenberg developers - thank you for the answer.
– Aravona
Jan 29 at 9:31
Totally agree on that. It should be possible to get list of all registered blocks with PHP...
– Krzysiek Dróżdż
Jan 29 at 9:41
Quite the list! I appreciate the effort getting it. It is frustrating there is not a better hook from the Gutenberg developers - thank you for the answer.
– Aravona
Jan 29 at 9:31
Quite the list! I appreciate the effort getting it. It is frustrating there is not a better hook from the Gutenberg developers - thank you for the answer.
– Aravona
Jan 29 at 9:31
Totally agree on that. It should be possible to get list of all registered blocks with PHP...
– Krzysiek Dróżdż
Jan 29 at 9:41
Totally agree on that. It should be possible to get list of all registered blocks with PHP...
– Krzysiek Dróżdż
Jan 29 at 9:41
add a comment |
There's a whitelist blocks removal example from the Gutenberg Handbook:
var allowedBlocks = [
'core/paragraph',
'core/image',
'core/html',
'core/freeform'
];
wp.blocks.getBlockTypes().forEach( function( blockType ) {
if ( allowedBlocks.indexOf( blockType.name ) === -1 ) {
wp.blocks.unregisterBlockType( blockType.name );
}
} );
One might try to modify it to remove blocks that do not start with core
and are not part of allowedExtraBlocks
(untested):
var allowedExtraBlocks = [
'my-plugin/block-example-1',
'my-plugin/block-example-2'
];
wp.blocks.getBlockTypes().forEach( function( blockType ) {
if ( ! blockType.name.startsWith( 'core' )
&& allowedExtraBlocks.indexOf( blockType.name ) === -1
) {
wp.blocks.unregisterBlockType( blockType.name );
}
} );
One could adjust this further to match block names that start with core/
or core-embed/
instead of core
to be more precise.
The blacklist example wraps it with:
wp.domReady( function() {
// ...
} );
so this might be needed for the whitelist example too.
Here's a quick way to see available blocks on the editing page, in the browser's console:
In the 5.1 version there are 70 core blocks available, according to
wp.blocks.getBlockTypes().length;
The list of available block names:
wp.blocks.getBlockTypes().forEach( function( blockType ){ console.log( blockType.name ); });
Here's a table of available blocks:
console.table( wp.blocks.getBlockTypes() );
1
The part I really don’t like in this code is that it’s on JS side. It would be nice to be able to restrict this on PHP side... :(
– Krzysiek Dróżdż
Jan 28 at 20:42
It would be nice to have a PHP version, maybe one could look further atWP_Block_Type_Registry::get_instance()->get_all_registered()
within theallowed_block_types
filter callback, but it will probably not show all blocks there. @KrzysiekDróżdż
– birgire
Jan 28 at 20:46
2
No, it does not. I’ve already created a ticket with such enhancement in trac
– Krzysiek Dróżdż
Jan 28 at 20:48
2
Thanks for this answer! I agree with @KrzysiekDróżdż that it's frustrating there is no PHP solution to this as it stands. I appreciate the answer though and a JS solution is still viable within my plugin.
– Aravona
Jan 29 at 9:29
add a comment |
There's a whitelist blocks removal example from the Gutenberg Handbook:
var allowedBlocks = [
'core/paragraph',
'core/image',
'core/html',
'core/freeform'
];
wp.blocks.getBlockTypes().forEach( function( blockType ) {
if ( allowedBlocks.indexOf( blockType.name ) === -1 ) {
wp.blocks.unregisterBlockType( blockType.name );
}
} );
One might try to modify it to remove blocks that do not start with core
and are not part of allowedExtraBlocks
(untested):
var allowedExtraBlocks = [
'my-plugin/block-example-1',
'my-plugin/block-example-2'
];
wp.blocks.getBlockTypes().forEach( function( blockType ) {
if ( ! blockType.name.startsWith( 'core' )
&& allowedExtraBlocks.indexOf( blockType.name ) === -1
) {
wp.blocks.unregisterBlockType( blockType.name );
}
} );
One could adjust this further to match block names that start with core/
or core-embed/
instead of core
to be more precise.
The blacklist example wraps it with:
wp.domReady( function() {
// ...
} );
so this might be needed for the whitelist example too.
Here's a quick way to see available blocks on the editing page, in the browser's console:
In the 5.1 version there are 70 core blocks available, according to
wp.blocks.getBlockTypes().length;
The list of available block names:
wp.blocks.getBlockTypes().forEach( function( blockType ){ console.log( blockType.name ); });
Here's a table of available blocks:
console.table( wp.blocks.getBlockTypes() );
1
The part I really don’t like in this code is that it’s on JS side. It would be nice to be able to restrict this on PHP side... :(
– Krzysiek Dróżdż
Jan 28 at 20:42
It would be nice to have a PHP version, maybe one could look further atWP_Block_Type_Registry::get_instance()->get_all_registered()
within theallowed_block_types
filter callback, but it will probably not show all blocks there. @KrzysiekDróżdż
– birgire
Jan 28 at 20:46
2
No, it does not. I’ve already created a ticket with such enhancement in trac
– Krzysiek Dróżdż
Jan 28 at 20:48
2
Thanks for this answer! I agree with @KrzysiekDróżdż that it's frustrating there is no PHP solution to this as it stands. I appreciate the answer though and a JS solution is still viable within my plugin.
– Aravona
Jan 29 at 9:29
add a comment |
There's a whitelist blocks removal example from the Gutenberg Handbook:
var allowedBlocks = [
'core/paragraph',
'core/image',
'core/html',
'core/freeform'
];
wp.blocks.getBlockTypes().forEach( function( blockType ) {
if ( allowedBlocks.indexOf( blockType.name ) === -1 ) {
wp.blocks.unregisterBlockType( blockType.name );
}
} );
One might try to modify it to remove blocks that do not start with core
and are not part of allowedExtraBlocks
(untested):
var allowedExtraBlocks = [
'my-plugin/block-example-1',
'my-plugin/block-example-2'
];
wp.blocks.getBlockTypes().forEach( function( blockType ) {
if ( ! blockType.name.startsWith( 'core' )
&& allowedExtraBlocks.indexOf( blockType.name ) === -1
) {
wp.blocks.unregisterBlockType( blockType.name );
}
} );
One could adjust this further to match block names that start with core/
or core-embed/
instead of core
to be more precise.
The blacklist example wraps it with:
wp.domReady( function() {
// ...
} );
so this might be needed for the whitelist example too.
Here's a quick way to see available blocks on the editing page, in the browser's console:
In the 5.1 version there are 70 core blocks available, according to
wp.blocks.getBlockTypes().length;
The list of available block names:
wp.blocks.getBlockTypes().forEach( function( blockType ){ console.log( blockType.name ); });
Here's a table of available blocks:
console.table( wp.blocks.getBlockTypes() );
There's a whitelist blocks removal example from the Gutenberg Handbook:
var allowedBlocks = [
'core/paragraph',
'core/image',
'core/html',
'core/freeform'
];
wp.blocks.getBlockTypes().forEach( function( blockType ) {
if ( allowedBlocks.indexOf( blockType.name ) === -1 ) {
wp.blocks.unregisterBlockType( blockType.name );
}
} );
One might try to modify it to remove blocks that do not start with core
and are not part of allowedExtraBlocks
(untested):
var allowedExtraBlocks = [
'my-plugin/block-example-1',
'my-plugin/block-example-2'
];
wp.blocks.getBlockTypes().forEach( function( blockType ) {
if ( ! blockType.name.startsWith( 'core' )
&& allowedExtraBlocks.indexOf( blockType.name ) === -1
) {
wp.blocks.unregisterBlockType( blockType.name );
}
} );
One could adjust this further to match block names that start with core/
or core-embed/
instead of core
to be more precise.
The blacklist example wraps it with:
wp.domReady( function() {
// ...
} );
so this might be needed for the whitelist example too.
Here's a quick way to see available blocks on the editing page, in the browser's console:
In the 5.1 version there are 70 core blocks available, according to
wp.blocks.getBlockTypes().length;
The list of available block names:
wp.blocks.getBlockTypes().forEach( function( blockType ){ console.log( blockType.name ); });
Here's a table of available blocks:
console.table( wp.blocks.getBlockTypes() );
edited Jan 29 at 10:34
answered Jan 28 at 20:35
birgirebirgire
53.6k463143
53.6k463143
1
The part I really don’t like in this code is that it’s on JS side. It would be nice to be able to restrict this on PHP side... :(
– Krzysiek Dróżdż
Jan 28 at 20:42
It would be nice to have a PHP version, maybe one could look further atWP_Block_Type_Registry::get_instance()->get_all_registered()
within theallowed_block_types
filter callback, but it will probably not show all blocks there. @KrzysiekDróżdż
– birgire
Jan 28 at 20:46
2
No, it does not. I’ve already created a ticket with such enhancement in trac
– Krzysiek Dróżdż
Jan 28 at 20:48
2
Thanks for this answer! I agree with @KrzysiekDróżdż that it's frustrating there is no PHP solution to this as it stands. I appreciate the answer though and a JS solution is still viable within my plugin.
– Aravona
Jan 29 at 9:29
add a comment |
1
The part I really don’t like in this code is that it’s on JS side. It would be nice to be able to restrict this on PHP side... :(
– Krzysiek Dróżdż
Jan 28 at 20:42
It would be nice to have a PHP version, maybe one could look further atWP_Block_Type_Registry::get_instance()->get_all_registered()
within theallowed_block_types
filter callback, but it will probably not show all blocks there. @KrzysiekDróżdż
– birgire
Jan 28 at 20:46
2
No, it does not. I’ve already created a ticket with such enhancement in trac
– Krzysiek Dróżdż
Jan 28 at 20:48
2
Thanks for this answer! I agree with @KrzysiekDróżdż that it's frustrating there is no PHP solution to this as it stands. I appreciate the answer though and a JS solution is still viable within my plugin.
– Aravona
Jan 29 at 9:29
1
1
The part I really don’t like in this code is that it’s on JS side. It would be nice to be able to restrict this on PHP side... :(
– Krzysiek Dróżdż
Jan 28 at 20:42
The part I really don’t like in this code is that it’s on JS side. It would be nice to be able to restrict this on PHP side... :(
– Krzysiek Dróżdż
Jan 28 at 20:42
It would be nice to have a PHP version, maybe one could look further at
WP_Block_Type_Registry::get_instance()->get_all_registered()
within the allowed_block_types
filter callback, but it will probably not show all blocks there. @KrzysiekDróżdż– birgire
Jan 28 at 20:46
It would be nice to have a PHP version, maybe one could look further at
WP_Block_Type_Registry::get_instance()->get_all_registered()
within the allowed_block_types
filter callback, but it will probably not show all blocks there. @KrzysiekDróżdż– birgire
Jan 28 at 20:46
2
2
No, it does not. I’ve already created a ticket with such enhancement in trac
– Krzysiek Dróżdż
Jan 28 at 20:48
No, it does not. I’ve already created a ticket with such enhancement in trac
– Krzysiek Dróżdż
Jan 28 at 20:48
2
2
Thanks for this answer! I agree with @KrzysiekDróżdż that it's frustrating there is no PHP solution to this as it stands. I appreciate the answer though and a JS solution is still viable within my plugin.
– Aravona
Jan 29 at 9:29
Thanks for this answer! I agree with @KrzysiekDróżdż that it's frustrating there is no PHP solution to this as it stands. I appreciate the answer though and a JS solution is still viable within my plugin.
– Aravona
Jan 29 at 9:29
add a comment |
Thanks for contributing an answer to WordPress Development Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fwordpress.stackexchange.com%2fquestions%2f326959%2fgutenberg-disallow-certain-custom-blocks-but-keep-all-core-blocks%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown