PHP code example of alleyinteractive / wp-block-converter
1. Go to this page and download the library: Download alleyinteractive/wp-block-converter library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
alleyinteractive / wp-block-converter example snippets
use Alley\WP\BlockConverter\BlockConverter;
$converter = new BlockConverter( '<p>Some HTML</p>' );
$blocks = $converter->convert(); // Returns a string of converted blocks.
use Alley\WP\BlockConverter\BlockConverter;
$converter = new BlockConverter(
html: '<p>Some HTML</p>',
logger: $psrLogger,
);
use Alley\WP\BlockConverter\Block;
use Alley\WP\BlockConverter\BlockConverter;
$converter = new BlockConverter(
html: '<p>Some HTML</p>',
onBlock: function ( ?Block $block, \Dom\Node $node ): ?Block {
// Modify the block before it is serialized.
$block->content = '...';
$block->blockName = '...';
$block->attributes = [ ... ];
return $block;
},
);
use Alley\WP\BlockConverter\BlockConverter;
use Alley\WP\BlockConverter\WordPressImageUploader;
$converter = new BlockConverter(
html: '<p>Some HTML <img src="https://example.org/image.jpg" /></p>',
uploader: new WordPressImageUploader(),
);
$blocks = $converter->convert();
use Alley\WP\BlockConverter\ImageUploader;
class MyImageUploader implements ImageUploader {
public function upload( string $src, string $alt ): string {
// Download $src and return the URL where it now lives.
return $src;
}
public function attachmentIdFor( string $url ): ?int {
// Return an ID for the uploaded image if your storage has one, or null.
return null;
}
public function getCreatedAttachmentIds(): array {
// No-op if your storage has no "attachment" concept.
return [];
}
public function assignParentToAttachments( int $parentPostId ): void {
// No-op if your storage has no "attachment" concept.
}
}
$converter = new BlockConverter(
html: '<p>Some HTML <img src="https://example.org/" /></p>',
uploader: new WordPressImageUploader(),
);
$blocks = $converter->convert();
// Get the attachment IDs that were created.
$attachmentIds = $converter->getCreatedAttachmentIds();
// Attach the images to a post.
$parentId = 123;
$converter->assignParentToAttachments( $parentId );
use Alley\WP\BlockConverter\BlockConverter;
use Alley\WP\BlockConverter\Block;
BlockConverter::macro( 'special-tag', function ( \Dom\Node $node ) {
return new Block( 'core/paragraph', [], $node->textContent );
} );
// You can also use the raw HTML with a helper method from Block Converter:
BlockConverter::macro( 'special-tag', function ( \Dom\Node $node ) {
return new Block( 'core/paragraph', [], BlockConverter::getNodeHtml( $node ) );
} );
use Alley\WP\BlockConverter\BlockConverter;
use Alley\WP\BlockConverter\Block;
BlockConverter::macro( 'p', function ( \Dom\Node $node ) {
if ( special_condition() ) {
return new Block( 'core/paragraph', [ 'attribute' => 123 ], 'This is a paragraph' );
}
return BlockConverter::p( $node );
} );