diff --git a/wp-dsfr-blocks/src/fr-latest-posts/block.json b/wp-dsfr-blocks/src/fr-latest-posts/block.json new file mode 100644 index 0000000..fb15885 --- /dev/null +++ b/wp-dsfr-blocks/src/fr-latest-posts/block.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://schemas.wp.org/trunk/block.json", + "apiVersion": 2, + "name": "dsfr/fr-latest-posts", + "version": "1.0.0", + "title": "Derniers articles", + "category": "widgets", + "description": "Bloc DSFR derniers articles.", + "textdomain": "wp-dsfr-blocks", + "editorScript": "file:./index.js", + "render": "file:./render.php" +} diff --git a/wp-dsfr-blocks/src/fr-latest-posts/index.js b/wp-dsfr-blocks/src/fr-latest-posts/index.js new file mode 100644 index 0000000..92fe29e --- /dev/null +++ b/wp-dsfr-blocks/src/fr-latest-posts/index.js @@ -0,0 +1,23 @@ +import { registerBlockType } from '@wordpress/blocks'; +import { __ } from '@wordpress/i18n'; +import metadata from './block.json'; + +registerBlockType( metadata.name, { + title: __( 'Dernières actualités', 'dsfr' ), + category: 'dsfr', + icon: 'megaphone', + edit: () => { + return ( +
+ { __( + 'Bloc affichant les 3 derniers articles de la catégorie actualités.', + 'dsfr' + ) } +
+ ); + }, + save: () => { + // Rendered via PHP + return null; + }, +} ); diff --git a/wp-dsfr-blocks/src/fr-latest-posts/render.php b/wp-dsfr-blocks/src/fr-latest-posts/render.php new file mode 100644 index 0000000..4de980a --- /dev/null +++ b/wp-dsfr-blocks/src/fr-latest-posts/render.php @@ -0,0 +1,27 @@ + 'actualites', + 'posts_per_page' => 4, + 'post_status' => 'publish', + ] +); + +if ( ! $posts_query->have_posts() ) { + return; +} +?> +