-
Урок 1.
00:03:34
Before Watching the Course
-
Урок 2.
00:05:01
Installing a Starter WordPress Theme
-
Урок 3.
00:02:42
The Block Editor Interface
-
Урок 4.
00:11:41
The Block Interface & Design Guidelines
-
Урок 5.
00:05:18
How is a Post in the Block Editor Saved in the Database
-
Урок 6.
00:03:53
How the Visual Editor is Reconstructed From Plain HTML
-
Урок 7.
00:08:42
A Brief Introduction to the Redux-like Data Stores in the Block Editor
-
Урок 8.
00:09:06
The Post State Array in Action
-
Урок 9.
00:03:07
Creating a New WordPress Plugin
-
Урок 10.
00:12:00
Registering our First Block
-
Урок 11.
00:05:15
Returning React Components in the Edit & Save Functions
-
Урок 12.
00:13:04
Compiling ESNext to ES5 with wp-scripts
-
Урок 13.
00:16:23
Compiling & Loading SASS Files
-
Урок 14.
00:09:37
Generating a Block with @wordpress/create-block
-
Урок 15.
00:08:56
Configuring ESLint & Prettier for JavaScript Files
-
Урок 16.
00:08:22
Configuring Stylelint for Linting our SCSS Files
-
Урок 17.
00:09:40
Adding a Pre-commit Git Hook with Husky
-
Урок 18.
00:09:11
Adding Custom Styles to the Block Editor
-
Урок 19.
00:12:29
Adding Support for Align Wide and Align Full
-
Урок 20.
00:10:03
Adding Custom Colour Pallets
-
Урок 21.
00:04:10
Adding Custom Font Sizes
-
Урок 22.
00:03:00
Custom Sizing & Custom Units
-
Урок 23.
00:04:43
Creating a New Clone from our Boilerplate Properly
-
Урок 24.
00:05:05
Editing the Boilerplate's Metadata
-
Урок 25.
00:03:04
Customizing the Block's Icon
-
Урок 26.
00:17:19
The RichText Component
-
Урок 27.
00:14:36
Adding Options in the Block Toolbar Using BlockControls
-
Урок 28.
00:10:26
The AlignmentToolbar Component
-
Урок 29.
00:10:14
Adding Options in the Sidebar Using InspectorControls
-
Урок 30.
00:11:30
Adding an Option to Change the Background and Text Colours
-
Урок 31.
00:21:48
Using the withColors Higher Order Component
-
Урок 32.
00:10:48
Changing the Background and Text Colours using Block Supports
-
Урок 33.
00:16:21
Adding an Option to Change the Block's Padding
-
Урок 34.
00:12:41
Adding an Option for toggling Box Shadow
-
Урок 35.
00:03:26
Adding Support for Different Style Options
-
Урок 36.
00:05:29
Examples & Variations
-
Урок 37.
00:11:31
Transforming Blocks into Other Blocks
-
Урок 38.
00:09:46
Adding Deprecated Versions for our Block
-
Урок 39.
00:10:05
Adding Deprecated Versions for our Block (Part. 2)
-
Урок 40.
00:02:32
Block Overview
-
Урок 41.
00:03:32
Initializing a New Plugin for Our Block
-
Урок 42.
00:04:22
Editing the Boilerplate's Metadata
-
Урок 43.
00:06:18
Using InnerBlocks to Create a Nested Block
-
Урок 44.
00:05:27
Registering the Team Member Block
-
Урок 45.
00:12:12
Creating the edit and save functions for the name and bio
-
Урок 46.
00:04:27
Adding templates for our team members
-
Урок 47.
00:08:38
Adding an option for changing the number of columns
-
Урок 48.
00:08:54
Styling the Front-end of the Block
-
Урок 49.
00:14:39
Adding the Editor Styles for our Block
-
Урок 50.
00:08:32
Introducing the ImagePlaceholder Component
-
Урок 51.
00:13:19
Storing & Displaying the Team Member Image
-
Урок 52.
00:01:53
Handiling Inserting an Image from an External URL
-
Урок 53.
00:05:25
Displaying Image Related Errors
-
Урок 54.
00:05:10
Displaying the Image in the Save Function (Front-end)
-
Урок 55.
00:08:43
Blob URL Edge Case & Memory Optimization
-
Урок 56.
00:05:21
Replacing the Image with a Toolbar Option
-
Урок 57.
00:02:42
Removing the Image with a Toolbar Option
-
Урок 58.
00:06:09
Adding a Sidebar Option to Modify the Alt Text of the Image
-
Урок 59.
00:20:25
Adding an Option for Changing the Image Size
-
Урок 60.
00:05:51
Focusing on the Name Input After Selecting an Image
-
Урок 61.
00:01:30
Adding Alignment Options for the Team Members Block
-
Урок 62.
00:09:56
Adding & Displaying an Attribute for the Social Links
-
Урок 63.
00:04:39
Styling the Social Links for the Editor Page
-
Урок 64.
00:06:48
Selected Link State & Styling
-
Урок 65.
00:04:02
Adding New Items to the Social Links
-
Урок 66.
00:05:42
The Save Function Markup for the Social Links
-
Урок 67.
00:06:43
Extracting the Social Links Array from the HTML to Improve Efficiency
-
Урок 68.
00:06:06
Adding the Markup for the Edit Link Form
-
Урок 69.
00:05:05
Editing the Social Media Links & Icons
-
Урок 70.
00:05:20
Removing Social Links
-
Урок 71.
00:16:45
Making our Social Links Sortable (Part. 1)
-
Урок 72.
00:15:53
Making our Social Links Sortable (Part. 2)
-
Урок 73.
00:07:10
Adding an Example for the Block Preview
-
Урок 74.
00:12:28
Adding Transformations for the Team Members Block
-
Урок 75.
00:03:02
Introduction to Dynamic Blocks
-
Урок 76.
00:03:02
Initializing our Latest Posts Block
-
Урок 77.
00:04:12
Editing the Boilerplate's Metadata
-
Урок 78.
00:04:55
Displaying Dynamic Content in the Front-end
-
Урок 79.
00:15:36
Displaying the Latest Posts in the Frond-end Using PHP
-
Урок 80.
00:07:50
Preparing Our Data for the Editor Loop
-
Урок 81.
00:15:37
Displaying the Latest Posts in the Editor
-
Урок 82.
00:05:41
Styling the Posts in the Editor and Front-end
-
Урок 83.
00:09:26
Adding Options for Number of Posts and Featured Image
-
Урок 84.
00:05:17
Adding an Option for Changing the Order of the Posts
-
Урок 85.
00:22:50
Filtering Posts by Categories
-
Урок 86.
00:12:00
Creating a New Plugin Boilerplate for the Block Editor
-
Урок 87.
00:11:57
Integrating wp-scripts in our Boilerplate
-
Урок 88.
00:11:07
The Core Data Stores
-
Урок 89.
00:09:20
Using the Data Stored Inside the Blocks
-
Урок 90.
00:06:56
Todos Store Overview
-
Урок 91.
00:18:26
Registering a Custom Store
-
Урок 92.
00:16:24
Populating Our Store Data from an external API
-
Урок 93.
00:05:47
Handling API Errors
-
Урок 94.
00:09:26
Displaying the Todos in the Todo List Block
-
Урок 95.
00:07:42
Adding a Form for Adding New Todos
-
Урок 96.
00:10:15
Using the API to Add New Todos
-
Урок 97.
00:14:17
Using the API to Toggle the Todos
-
Урок 98.
00:08:08
Creating the Todo List Info Block
-
Урок 99.
00:09:47
The Old PHP Way of Managing Metadata
-
Урок 100.
00:07:51
Manipulating Meta Fields Using the Data Stores
-
Урок 101.
00:13:45
Managing Meta Fields Using Blocks
-
Урок 102.
00:05:57
Adding a Custom Sidebar using Plugins
-
Урок 103.
00:06:48
Customizing the Existing Editor UI
-
Урок 104.
00:06:31
Adding an Option to Edit Meta Fields in the Sidebar
-
Урок 105.
00:04:16
Passing Attributes from Parent to Child using Context
-
Урок 106.
00:06:57
Adding Predefined Templates for Post Types
-
Урок 107.
00:08:11
Adding Predefined Block Patterns
-
Урок 108.
00:08:48
Using the Formatting API to add New Text Formats
-
Урок 109.
00:11:08
Modifying Existing Behaviour with PHP Filters
-
Урок 110.
00:11:38
Modifying Existing Behaviour with JavaScript Filters
-
Урок 111.
00:19:55
Internationalization - Generating & Loading Translation FIles
-
Урок 112.
00:05:35
Installing a Theme & Cloning the Gutenberg Repository
-
Урок 113.
00:03:03
The Editor Interface
-
Урок 114.
00:06:38
The Block Interface
-
Урок 115.
00:06:45
Block Design - Best Practices & Guidelines
-
Урок 116.
00:05:15
How Our Gutenberg Post is Saved in the Database
-
Урок 117.
00:03:52
How the Visual Editor is Reconstructed From Plain HTML
-
Урок 118.
00:06:28
A Brief Introduction to Redux in Gutenberg
-
Урок 119.
00:07:08
The Post State Array in Action
-
Урок 120.
00:06:28
Writing a React Component Without JSX
-
Урок 121.
00:04:15
Preparing Our Files for Webpack & NPM
-
Урок 122.
00:07:48
Using Webpack to Bundle Our JS Files
-
Урок 123.
00:09:31
Using Webpack Loaders to Transpile ES6 into ES5
-
Урок 124.
00:04:09
Transpiling JSX with Webpack
-
Урок 125.
00:04:06
React Babel Preset Development Mode
-
Урок 126.
00:05:03
Exploring Source-mapping Options in Webpack
-
Урок 127.
00:06:38
Compiling & Loading SASS Files with Webpack
-
Урок 128.
00:04:22
Adding Autoprefixer to Our CSS
-
Урок 129.
00:05:45
Moving the CSS Bundle into a Separate File Using Webpack Plugins
-
Урок 130.
00:05:54
Minifying the CSS Bundle with Webpack
-
Урок 131.
00:06:43
Creating a Plugin & Registering a Block with ES5
-
Урок 132.
00:05:19
Block Server Side Registration
-
Урок 133.
00:04:00
Using React Properly in Gutenberg Blocks
-
Урок 134.
00:03:17
Changing the Block Icons and Filtering Keywords
-
Урок 135.
00:04:30
Applying Webpack to our WordPress Plugin
-
Урок 136.
00:05:47
Enqueuing Our New Bundle & Refactoring PHP Registration
-
Урок 137.
00:05:35
Registering a Block With ES6 & JSX
-
Урок 138.
00:06:37
Styling Our Block in the Editor Page
-
Урок 139.
00:10:57
Creating a New Webpack Bundle for Editor+Frontend Styles & Scripts
-
Урок 140.
00:10:35
Understanding & Using the Webpack Externals Feature
-
Урок 141.
00:09:24
Adding Gulp to the Workflow to Produce a Zipped version of the plugin
-
Урок 142.
00:06:48
[Optional] Integrating ESLint in Our Project
-
Урок 143.
00:04:07
[Optional] Running ESLint Before Creating a production Bundle
-
Урок 144.
00:06:45
[Optional] Adding Prettier to Our Project
-
Урок 145.
00:03:23
[Optional] Disabling ESLint Rules that Prettier Will Fix
-
Урок 146.
00:08:08
[Optional] Running Prettier Before Committing to Repository Using Husky Hooks
-
Урок 147.
00:04:11
Adding align-wide & align-full support
-
Урок 148.
00:04:08
Creating a Custom Colour Palette
-
Урок 149.
00:01:27
Making Gutenberg's Embedded Content Responsive
-
Урок 150.
00:06:22
Adding Editor Styles to Resemble Front-end
-
Урок 151.
00:07:04
The "wp.editor" & "wp.components" Modules
-
Урок 152.
00:05:44
Using the RichText Component in the Editor
-
Урок 153.
00:03:29
Using the RichText Component in the save() Function
-
Урок 154.
00:02:02
Avoiding Saving Attributes in Block Delimiters and Parsing them from the HTML
-
Урок 155.
00:08:54
An Overview of the BlockControls Component
-
Урок 156.
00:05:19
Using the AlignmentToolbar Component
-
Урок 157.
00:04:47
An Overview of the InspectorControls Component
-
Урок 158.
00:05:20
Using the PanelColorSettings Component
-
Урок 159.
00:03:44
Adding Multiple Styles to our Block
-
Урок 160.
00:02:50
Adding a Custom Category to the Block Library
-
Урок 161.
00:04:04
Moving the Edit Component into a Separate File
-
Урок 162.
00:06:22
Porting the Edit Function from a Functional to a Class Component
-
Урок 163.
00:04:24
Introducing the withColors Higher Order Component
-
Урок 164.
00:09:09
Using withColors HOC in the Editor
-
Урок 165.
00:08:01
Using withColors HOC in the Front-end
-
Урок 166.
00:04:43
Adding a Toggle Shadow Option in the Block Toolbar
-
Урок 167.
00:06:31
Adding a Shadow Opacity Option Using RangeControl
-
Урок 168.
00:05:30
Adding Deprecated Versions to your Block to Avoid Validation Errors
-
Урок 169.
00:11:17
Migrating Old Attributes in Deprecations
-
Урок 170.
00:06:23
Transforming Other Block Types into Our Block
-
Урок 171.
00:02:35
Transforming Our Block Type into Other Block Types
-
Урок 172.
00:01:56
Block Overview
-
Урок 173.
00:04:15
Setting Up Our Block
-
Урок 174.
00:06:27
Implementing the Edit Function for Editing the Title & the Bio
-
Урок 175.
00:02:56
Adding the Save Function for the Team Member Block
-
Урок 176.
00:08:59
Creating the Team Members Block Using InnerBlocks
-
Урок 177.
00:05:19
Adding a Columns Attribute for the Parent Team Members Block
-
Урок 178.
00:07:04
Styling the Columns in the Front-end
-
Урок 179.
00:07:34
Styling the Columns in the Editor Page
-
Урок 180.
00:01:44
Removing Unneeded Block Features
-
Урок 181.
00:06:27
Introducing the MediaPlaceholder Component
-
Урок 182.
00:08:26
Handling the Image Upload & Media Library Buttons
-
Урок 183.
00:01:47
Handling Inserting an Image from a URL
-
Урок 184.
00:03:55
Handling Image Upload Errors
-
Урок 185.
00:02:12
Displaying a Responsive Image in the Front-end
-
Урок 186.
00:04:44
Handling Blocks with Unfinished Image Uploads
-
Урок 187.
00:09:38
Adding Edit Image & Remove Image Buttons and Functionality
-
Урок 188.
00:04:36
Adding a Textarea in the Sidebar to Edit the Alt Text for the Image
-
Урок 189.
00:06:40
Adding the Option to Change the Image Size
-
Урок 190.
00:10:29
Populating the Image Sizes Dropdown from Redux Stores
-
Урок 191.
00:01:11
Enabling "Align Wide" & "Align Full" in Our Team Members Block
-
Урок 192.
00:07:28
Adding an Array Type Attribute for the Social Links and Icons
-
Урок 193.
00:08:05
Adding a Selected Icon State Using React's Component State
-
Урок 194.
00:05:49
Implementing the Save Function for the Team Member
-
Урок 195.
00:04:30
Avoiding Saving the Social Array Attribute in the Block Delimiter
-
Урок 196.
00:04:04
Adding the Markup for the Edit Social Link Form
-
Урок 197.
00:07:05
Populating the Form and Updating the Social Attribute
-
Урок 198.
00:03:40
Removing Items from the Social Attribute
-
Урок 199.
00:12:25
Making the Social Icons Sortable Using react-sortable-hoc
-
Урок 200.
00:08:49
Transforming Galleries and Images into Team Members
-
Урок 201.
00:04:49
Setting Up Our Dynamic Block
-
Урок 202.
00:04:28
Adding Attributes in a Dynamic Block
-
Урок 203.
00:06:07
Fetching the Latest Posts Dynamically in the Render Callback Function
-
Урок 204.
00:04:24
Fetching the Latest Posts in the JS Side using Redux
-
Урок 205.
00:06:32
Mimicking the PHP Posts Loop Using JS in the Edit Function
-
Урок 206.
00:03:31
Adding a Sidebar Option for the Number of Posts
-
Урок 207.
00:10:30
Filtering the Latest Posts by Categories
-
Урок 208.
00:07:33
Accessing redux data & dispatching actions to redux the WRONG Way!
-
Урок 209.
00:07:29
Using withSelect & withDispatch together using "wp.compose"
-
Урок 210.
00:03:13
Let's Create a Redux Store and Use it in Multiple Components!
-
Урок 211.
00:07:26
Setting Up Our Block and Redux Store Files
-
Урок 212.
00:09:49
Registering our Own Redux Store
-
Урок 213.
00:06:27
Populating Our Redux Store using an External API
-
Урок 214.
00:05:15
Improving our Resolver using Controls and Generator Functions
-
Урок 215.
00:07:27
Displaying our To Dos from the Redux Store in the To Do List Component
-
Урок 216.
00:06:12
Adding a new Control to Toggle the To Do Item
-
Урок 217.
00:06:07
Updating the To Do Items After Getting a Response from the API
-
Урок 218.
00:05:55
Creating a Second Block that Shares the Same Redux Data
-
Урок 219.
00:06:35
How is Metadata Managed by Default in Gutenberg?
-
Урок 220.
00:08:03
How to Get and Set Metadata using Redux Selectors and Actions
-
Урок 221.
00:06:41
Updating Metadata Using a Block
-
Урок 222.
00:07:15
Using Templates to Pre-define blocks in the Editor Page
-
Урок 223.
00:07:09
Registering a Gutenberg Plugin to Add a Sidebar
-
Урок 224.
00:04:25
Using Our Plugin to Modify the Existing Gutenberg Sidebar
-
Урок 225.
00:07:30
Managing Metadata in the New Sidebar
-
Урок 226.
00:02:14
Conclusion & Next Steps