WordPress 5.8 Tatum

Introducing 5.8 “Tatum”, our latest and greatest release now available for download or update in your dashboard. Named in honor of Art Tatum, the legendary Jazz pianist. His formidable technique and willingness to push boundaries inspired musicians and changed what people thought could be done. 

So fire up your music service of choice and enjoy Tatum’s famous recordings of ‘Tea for Two’, ‘Tiger Rag’, ‘Begin the Beguine’, and ‘Night and Day’ as you read about what the latest WordPress version brings to you.


Three Essential Powerhouses

Manage Widgets with Blocks

After months of hard work, the power of blocks has come to both the Block Widgets Editor and the Customizer. Now you can add blocks both in widget areas across your site and with live preview through the Customizer. This opens up new possibilities to create content: from no-code mini layouts to the vast library of core and third-party blocks. For our developers, you can find more details in the Widgets dev note.

Display Posts with New Blocks and Patterns

The Query Loop Block makes it possible to display posts based on specified parameters; like a PHP loop without the code. Easily display posts from a specific category, to do things like create a portfolio or a page full of your favorite recipes. Think of it as a more complex and powerful Latest Posts Block! Plus, pattern suggestions make it easier than ever to create a list of posts with the design you want.

Edit the Templates Around Posts

You can use the familiar block editor to edit templates that hold your content—simply activate a block theme or a theme that has opted in for this feature. Switch from editing your posts to editing your pages and back again, all while using a familiar block editor. There are more than 20 new blocks available within compatible themes. Read more about this feature and how to experiment with it in the release notes.

Three Workflow Helpers

Overview of the Page Structure

Sometimes you need a simple landing page, but sometimes you need something a little more robust. As blocks increase, patterns emerge, and content creation gets easier, new solutions are needed to make complex content easy to navigate. List View is the best way to jump between layers of content and nested blocks. Since the List View gives you an overview of all the blocks in your content, you can now navigate quickly to the precise block you need. Ready to focus completely on your content? Toggle it on or off to suit your workflow.

Suggested Patterns for Blocks

Starting in this release the Pattern Transformations tool will suggest block patterns based on the block you are using. Right now, you can give it a try in the Query Block and Social Icon Block. As more patterns are added, you will be able to get inspiration for how to style your site without ever leaving the editor!

Style and Colorize Images

Colorize your image and cover blocks with duotone filters! Duotone can add a pop of color to your designs and style your images (or videos in the cover block) to integrate well with your themes. You can think of the duotone effect as a black and white filter, but instead of the shadows being black and the highlights being white, you pick your own colors for the shadows and highlights. There’s more to learn about how it works in the documentation.

For Developers to Explore

Theme.json

Introducing the Global Styles and Global Settings APIs: control the editor settings, available customization tools, and style blocks using a theme.json file in the active theme. This configuration file enables or disables features and sets default styles for both a website and blocks. If you build themes, you can experiment with this early iteration of a useful new feature. For more about what is currently available and how it works, check out this dev note.

Dropping support for IE11

Support for Internet Explorer 11 has been dropped as of this release. This means you may have issues managing your site that will not be fixed in the future. If you are currently using IE11, it is strongly recommended that you switch to a more modern browser.

Adding support for WebP

WebP is a modern image format that provides improved lossless and lossy compression for images on the web. WebP images are around 30% smaller on average than their JPEG or PNG equivalents, resulting in sites that are faster and use less bandwidth.

Adding Additional Block Supports

Expanding on previously implemented block supports in WordPress 5.6 and 5.7, WordPress 5.8 introduces several new block support flags and new options to customize your registered blocks. More information is available in the block supports dev note.

Check the Field Guide for more!

Check out the latest version of the WordPress Field Guide. It highlights developer notes for each change you may want to be aware of: WordPress 5.8 Field Guide.


The Squad

The WordPress 5.8 release was lead by Matt Mullenweg, and supported by this highly enthusiastic release squad:

This release is the reflection of the hard work of 530 generous volunteer contributors. Collaboration occurred on over 320 tickets on Trac and over 1,500 pull requests on GitHub.

5ubliminal, 99w, 9primus, Aaron Jorbin, aaronrobertshaw, abderrahman, Abha Thakor, Abhijit Rakas, achbed, Adam Silverstein, Adam Zielinski, Addie, aduth, Ahmed Chaion, Ahmed Saeed, Ajit Bohra, Alain Schlesser, Alan Jacob Mathew, Albert Juhé Lluveras, Alejandro Perez, Alex Concha, Alex Kirk, Alex Lende, alexstine, allilevine, Amanda Riu, amarinediary, Amogh Harish, Andrea Fercia, Andrei Draganescu, Andrew Ozz, Andrew Serong, Andrey "Rarst" Savchenko, André Maneiro, Andy Fragen, Andy Peatling, Andy Skelton, Ankit Gade, annalamprou, Anne McCarthy, anotherdave, anotia, Anthony Burchell, Anton Lukin, Anton Vanyukov, Antonis Lilis, apedog, apokalyptik, arena, Argyris Margaritis, Ari Stathopoulos, ariskataoka, arkrs, Armand, ArnaudBan, Arthur Chu, Arun a11n, Aspexi, atjn, Aurooba Ahmed, Austin Matzko, Ayesh Karunaratne, Barry, bartkalisz, Beatriz Fialho, Bego Mario Garde, Benachi, Benoit Chantre, Bernhard Reiter, Bernhard Reiter, Birgir Erlendsson (birgire), Birgit Pauli-Haack, Blobfolio, bmcculley, Bob Linthorst, bobbingwide, Bogdan Preda, bonger, Boone Gorges, Brad Touesnard, Brandon Kraft, Brecht, Brent Swisher, Brett Shumaker, Bruno Ribaric, Burhan Nasir, Cameron Jones, Cameron Voell, Carike, Carl Alexander, carlomanf, carlosgprim, Carolina Nymark, Casey Milne, Cenay Nailor, Ceyhun Ozugur, Chandra M, Chetan Prajapati, Chintan hingrajiya, Chip Snyder, Chloé Bringmann, Chouby, Chris Van Patten, chriscct7, Christopher Churchill, Chuck Reynolds, Clayton Collie, Code Amp, CodePoet, Colin Stewart, Collins Agbonghama, Copons, Corey McKrill, Cory Hughart, Courtney Engle Robertson, crazycoders, critterverse, czapla, Dávid Szabó, Daisy Olsen, damonganto, Dan Farrow, Daniel Llewellyn, Daniel Richards, danieldudzic, Daniele Scasciafratte, Danny, David Aguilera, David Anderson, David Artiss, David Baumwald, David Biňovec, David Calhoun, David Herrera, David Kryzaniak, David Smith, dekervit, devfle, devrekli, dhruvkb, Diane Co, dingdang, Dion Hulse, djbu, Dominik Schilling, donmhico, Donna Peplinskie, Doug Wollison, dpik, dragongate, Dreb Bits, Drew Jaynes, eatsleepcode, Ebonie Butler, Edi Amin, Eileen Violini, Ella van Durpe, Emil E, Emilio Martinez, Emmanuel Hesry, empatogen, Enej Bajgorić, Enrique Sánchez, epiqueras, Erik, etoledom, Fabian Kägy, Fabian Pimminger, Fabian Todt, Felipe Elia, Felix Arntz, felixbaumgaertner, Femy Praseeth, fijisunshine, Florian Brinkmann, Florian TIAR, Francesca Marano, Frank Bueltge, frosso1 (a11n), fullofcaffeine, gab81, Gal Baras, Garrett Hyder, Gary Jones, Gary Pendergast, GeekPress, Gennady Kovshenin, Geoffrey, George Hotelling, George Mamadashvili, George Stephanis, geriux, glendaviesnz, Grant M. Kinney, Greg Ziółkowski, gRegor Morrill, Héctor Prieto, Hannah Malcolm, happiryu, Hareesh, Haz, hedgefield, Helen Hou-Sandí, Herm Martini, Herre Groen, herrvigg, htmgarcia, Ian Dunn, ianmjones, icopydoc, Ipstenu (Mika Epstein), Isabel Brison, Ivaylo Draganov, Ivete Tecedor, J.D. Grimes, Jack Lenox, Jake Spurlock, James Bonham, James Koster, James Nylen, James Richards, James Rosado, jamil95, janak Kaneriya, janw.oostendorp, Jason Johnston, Javier Arce, Jayman Pandya, Jean-Baptiste Audras, Jeff Ong, Jeff Paul, Jeffrey Pearce, Jenny Dupuy, Jeremy Felt, Jeremy Herve, Jeremy Yip, jeremy80, JeroenReumkens, jeryj, jillebehm, Jip Moors, Joe Bailey-Roberts, Joe Dolson, Joe McGill, Joen Asmussen, Johan Jonk Stenström, Johannes Kinast, John Blackbourn, John Godley, John James Jacoby, John Sundberg, Jon Brown, Jon Surrell, Jonathan Desrosiers, Jonny Harris, Jono Alderson, Joost de Valk, Jorge Bernal, Jorge Costa, Josee Wouters, Josepha Haden, JoshuaDoshua, Joy, jsnajdr, Juan Aldasoro, Juliette Reinders Folmer, Julio Potier, Justin Ahinon, k3nsai, kaavyaiyer, kafleg, Kai Hao, Kalpesh Akabari, Kapil Paul, Karolina Vyskocilova, Kelly Choyce-Dwan, Kelly Hoffman, Kerry Liu, Kishan Jasani, Kite, KittMedia, Kjell Reigstad, klevyke, Knut Sparhell, Koen Van den Wijngaert, Konstantin Obenland, Konstantinos Xenos, Kyle Nel, lakrisgubben, Lara Schenck, Larissa Murillo, Laxman Prajapati, LewisCowles, lifeforceinst, linux4me2, Lovro Hrust, Luis Sacristán, Luiz Araújo, Luke Carbis, m0ze, Maedah Batool, Maggie Cabrera, Maja Benke, Marco Ciampini, Marcus Kazmierczak, Marek Hrabe, Marin Atanasov, Marius L. J., Mark Jaquith, Mark Parnell, Marko Heijnen, Marty Helmick, Mary Baum, Mary Job, marylauc, Mathieu Viet, Matias Ventura, Matt Chowning, Matt Mullenweg, Maxime Pertici, mblach, Meet Makadia, Meher Bala, Mel Choyce-Dwan, meloniq, mensmaximus, Michael Babker, Michael Beckwith, Miguel Fonseca, Mikael Korpela, Mike Hansen, Mike Jolley, Mike Martel, Mike Schroder, Mikhail Kobzarev, Milan Dinić, Milana Cap, mkdgs, mmuyskens, mmxxi, Mohamed El Amine DADDOU, Mohammed Faragallah, Monika Rao, Morten Rand-Hendriksen, mrjoeldean, Mukesh Panchal, munyagu, Mustafa Uysal, mweichert, Nadir Seghir, Nalini Thakor, Naoki Ohashi, Naoko Takano, Nazrul Islam Nayan, nderambure, net, nicegamer7, Nicholas Garofalo, Nick Halsey, Nik Tsekouras, ninanmnm, Noah Allen, nvartolomei, oguzkocer, olafklejnstrupjensen, Olga Bulat, Olga Gleckler, Otshelnik-Fm, oxyrealm, Ozh, Paal Joachim Romdahl, palmiak, Panagiotis Angelidis, Paragon Initiative Enterprises, Pascal Birchler, Pascal Knecht, Pat, patricklindsay, Paul Biron, Paul Bunkham, Paul Schreiber, Paul Stonier, Paul Von Schrottky, Paulo Pinto, Pavel I, Paweł, Peter Wilson, Petter Walbø Johnsgård, phena109, Philip Jackson, Pierre SYLVESTRE, Pinar, Piotrek Boniu, Pippin Williamson, Pirate Dunbar, Pramod Jodhani, Presskopp, presstoke, pwallner, pyronaur, Q, Rachel Baker, rafhun, Rajesh Radadiya, Rami Yushuvaev, Ramon Ahnert, ramonopoly, Ravi Vaghela, ravipatel, Refael Iliaguyev, Rene Hermenau, retrofox, reynhartono, Riad Benguella, Rian Rietveld, Rima Prajapati, Rinat, Rnaby, robdxw, Robert Anderson, Robert Chapin, Roger Theriault, rogerlos, roo2, Roy, Russell Aaron, Ryan McCue, Ryan Welcher, Sören Wrede, Saša, Sabrina Zeidan, Sahil Mepani, Samir Shah, Samuel Wood (Otto), Sandip Mondal, Sanne van der Meulen, sarahricker, sarayourfriend, SASAPIYO, satrancali, savicmarko1985, Scott Lesovic, Scott Reilly, scottconnerly, scruffian, Sean Fisher, Sean Hayes, sebbb, Sergey Biryukov, Sergey Yakimov, SergioEstevao, sergiomdgomes, shaunandrews, Shital Marakana, silb3r, Siobhan, SirStuey, snapfractalpop, spikeuk1, spytzo, stacimc, Stanislav Khromov, Stefan Hüsges, stefanjoebstl, Stefano Minoia, Stefanos Togoulidis, Stephen Bernhardt, Stephen Edgar, Steve Dufresne, Steve Grunwell, Steve Henty, Steven Word, Subrata Sarkar, Sumaiya Siddika, Suman, Sumit Singh, Sumit Singh, sushmak, Sybre Waaijer, Synchro, szaqal21, tamlyn, Tammie Lister, Tellyworth, Terri Ann, Tetsuaki Hamano, them.es, Thomas Kräftner, Thomas Patrick Levy, Thomas Vitale, tigertech, Timothy Jacobs, TimoTijhof, Tkama, tmatsuur, tmdk, Tobias Zimpel, TobiasBg, tobifjellner (Tor-Bjorn Fjellner), Tom J Nowell, Toni Viemerö, Tonya Mork, Toro_Unit (Hiroshi Urabe), torres126, Torsten Landsiedel, Toru Miki, Travis Northcutt, trejder, Udit Desai, Ulrich, Utsav tilava, Vicente Canales, Vipul Chandel, Vlad T, wangql, WebDragon, Wendy Chen, Weston Ruter, William Earnhardt, williampatton, Xavi Ivars, Xristopher Anderton, Y_Kolev, Yan Sern, Yui, yuliyan, Yvette Sonneveld, Zack Krida, Zebulan Stanphill, zkancs, and 孙锡源.

In addition to these contributors, many thanks to all of the community volunteers who contribute in the support forums. They answer questions from people across the world, whether they are using WordPress for the first time, or they’ve been around since the first release all the way back in 2003. These releases are as successful as they are because of their efforts!

Finally, thanks to all the community translators who help make WordPress available in over 200 languages for every release. 80 languages have translated 80% or more WordPress 5.8 and our community translators are hard at work ensuring more languages are on their way. If contributing to WordPress appeals to you, it’s easy to learn more. Check out Make WordPress or the core development blog.

rn ML AI Pure PHP Neural Network Library

deep_learning_process
Package:
Summary:
Assemble a neural network that can learn patterns
Groups:
Author:
Description:
This package can assemble a neural network that can learn patterns...

Read more at https://www.phpclasses.org/package/12151-PHP-Assemble-a-neural-network-that-can-learn-patterns.html#2021-07-20-02:59:54

Community News: Latest PECL Releases (07.20.2021)

Latest PECL Releases:

  • swoole 4.7.0
    New APIs


    • Added ProcessPool::detach() (#4221) (@matyhtf)
    • Added onDisconnect callback for SwooleServer (#4230) (@matyhtf)
    • Added Coroutine::cancel() (#4247) (#4249) (@matyhtf)
    • Added http_compression/body_decompression options for Http Client (#4299) (@matyhtf)

    Enhancement

    • Supported mysql client prepare field type identification (#4238) (@Yurunsoft)
    • Supported c-ares, Refactor DNS (#4275) (@matyhtf)
    • Supported setting different idle time for each port (#4290) (@matyhtf)
    • Supported SW_DISPATCH_CO_CONN_LB and SW_DISPATCH_CO_REQ_LB for SwooleServer dispatch_mode (#4318) (@matyhtf)
    • Supported timeout for SwooleConnectionPool::get (swoole/library#108) (@leocavalcante)
    • Supported CURLOPT_PRIVATE for Hook Curl (swoole/library#112) (@sy-records)
    • Optimized PDOStatementProxy::setFetchMode function prototype (swoole/library#109) (@yespire)

    Fixed

    • Fixed uncaught thread creation exception when creating a large number of coroutines (swoole/swoole-src@8ce5041) (@matyhtf)
    • Fixed the "make install" missing php_swoole.h header file (#4239) (@sy-records)
    • Fixed EVENT_HANDSHAKE BC (#4248) (@sy-records)
    • Fixed SW_LOCK_CHECK_RETURN (#4302) (@zmyWL)
    • Fixed problems with SwooleAtomicLong M1 chip (swoole/swoole-src@e6fae2e) (@matyhtf)
    • Fixed missing return value of Coroutinego (swoole/library@1ed49db) (@matyhtf)
    • Fixed StringObject consistency between other methods and its immutability (swoole/library#111) (@leocavalcante)
    • Fixed StringObject substr error (swoole/library#113) (@sy-records)

    Kernel

    • Did not hook disabled functions (#4283) (@twose)

    Test

    • Added Cygwin build (#4222) (@sy-records)
    • Added alpine 3.13 and 3.14 into building test (#4309) (@limingxinleo)
  • xlswriter 1.4.0
    - Fix disable reader build failed. - Fix insertDate use curtom format segmentation fault. - Feat custom free resource. - Feat writer validation. - Feat writer data validation can be applied to a single cell or a range of cells. - Feat reader add file path in open file exception message. - Feat exit worksheet. - Feat set paper. - Feat set margins. - Build read module is enabled by default. - Perfect exception message. - Compatible PHP 8.1 API. - Destructive rename method setPrintedLandscape to setLandscape - Destructive rename method setPrintedPortrait to setPortrait
  • runkit7 4.0.0a3
    - Fix edge case copying internal functions in runkit7_function_redefine - Avoid conflicts with other extensions that use reserved memory slots for internal function definitions. - Fix compilation and test errors in php 8.1 - Allow using objects in global constants and class constants in php 8.1+ (https://wiki.php.net/rfc/new_in_initializers) - Make runkit_constant_redefine fail if the constant does not already exist - Make runkit_constant_remove/redefine fail on enum cases (support for modifying enum cases is not implemented)
  • mongodb 1.10.0
    ** Bug * [PHPC-1420] - Using replicaSet triggers __fortify_fail() from /lib64/libc.so.6 * [PHPC-1529] - Reset libmongocrypt's key vault client after forking * [PHPC-1720] - Move mongoc_client_set_error_api after check for null client pointer * [PHPC-1721] - Fix argument order for some ecalloc function calls * [PHPC-1722] - Persistent clients and their HashTable should be destroyed in GSHUTDOWN * [PHPC-1870] - Fix zSeries build failure due to redefinition of WORDS_BIGENDIAN * [PHPC-1879] - Session::getTransactionOptions() leaks mongoc_transaction_opt_t

    ** Epic * [PHPC-1666] - Allow per-client event subscribers * [PHPC-1731] - Versioned MongoDB API for Drivers * [PHPC-1756] - Remove all oppressive and unnecessarily gendered language from driver projects

    ** New Feature * [PHPC-1645] - Allow disabling of libmongoc client persistence * [PHPC-1684] - Support Azure and GCP keystores in FLE * [PHPC-1716] - Allow configuring ServerApi in Manager class * [PHPC-1804] - Implement Manager::addSubscriber and removeSubscriber

    ** Task * [PHPC-1513] - Remove php_phongo_cursor_to_zval * [PHPC-1685] - Drop support for PHP 7.0 * [PHPC-1782] - Support Removal of Several Platform Builds * [PHPC-1792] - Update copyright years in file headers * [PHPC-1835] - Rotate credentials and environment vars for Atlas connectivity tests * [PHPC-1841] - Remove oppressive language from the documentation * [PHPC-1842] - Remove oppressive language from the source code * [PHPC-1848] - Test against 5.0 servers * [PHPC-1864] - Cut 5.0 Compat. GA Release * [PHPC-1866] - Specify 5.0 cursor behaviour * [PHPC-1872] - Fix server-executeQuery-008.phpt for RS config with arbiter * [PHPC-1877] - MongoDB 5.0.0-rc2 cannot be downloaded on rhel71-power8

    ** Improvement * [PHPC-1366] - Declare libbson vtable in MINIT instead of using a global * [PHPC-1367] - Move libmongoc init/cleanup within scope of custom libbson vtable * [PHPC-1474] - Expose transaction information in debug info for session * [PHPC-1490] - Add support for var_export() and __set_state() in CursorId.c * [PHPC-1681] - Support parsing $uuid as extended JSON representation for subtype 4 binary * [PHPC-1737] - Use zend_hash_graceful_reverse_destroy to free persistent client HashTable * [PHPC-1753] - Define error handling behavior of writeErrors and writeConcernError on Mongos * [PHPC-1754] - Drivers should not inspect error messages for "not master" or "node is recovering" * [PHPC-1762] - Expose the Reason an Operation Fails Document Validation * [PHPC-1765] - Mitigate pain of using field names with dots and dollars * [PHPC-1791] - Specify correct return type in __set_state protos * [PHPC-1798] - Update serverSelectionTimeoutMS of MongoClient to mongocryptd * [PHPC-1803] - Use "hello" command when API Version is declared * [PHPC-1813] - Unpin session after aborting a transaction * [PHPC-1821] - Driver Handling of DBRefs * [PHPC-1836] - Remove slaveOK connection string option from URI parsing * [PHPC-1840] - Use "hello" command for monitoring if supported * [PHPC-1855] - Bump maxWireVersion for MongoDB 5.0

  • datadog_trace 0.61.0
    ### Added - Add DDTraceget_current_context #1227 - Create property ZAI seam for PHP 8 #1246 - Create exceptions ZAI seam for PHP 8 #1248 - Run mongodb-driver testsuite in CI with and without the tracer #1255 ### Changed - Move mapping-settings to be deserialized as a zend_array * #1253 ### Fixed - Remove TSRMLS_C from DDTracecurrent_context #1249

20 Free Highly-Detailed Floral Vector Packs & Templates

Today, we have put together a collection of high-quality free floral vector packs for you. No matter what the medium of creation be, floral designs have always enjoyed a special position in the world of art.

Right from the days of cave paintings, passing through to Oriental calligraphy impressions and all the way down to the present day, everyone has loved floral designs and backgrounds.

You might also like these free spring vector templates or these free ornamental templates.

Floral Decorative Vector Ornaments (Free)

5 Floral Decorative Vector Ornaments template free illustrator

Geometric Floral Seamless Patterns (with Envato Elements)

Geometric Floral Seamless vector template free illustrator

Shield & Floral Vector Element Templates (Free)

Shield Floral Vector Element template free illustrator

Floral Seamless Patterns (with Envato Elements)

Floral Seamless vector template free illustrator

Floral Vector & Brush Pack (Free)

Floral Brush Pack vector template free illustrator

Handsketched Floral Frame Templates (with Envato Elements)

Handsketched Floral Frame vector template free illustrator

Various Vector Floral Designs Templates (Free)

Various Vector Floral Designs template free illustrator

Romantic Florals Templates (with Envato Elements)

Romantic Florals vector template free illustrator

Pink Floral Vector Background Template (Free)

Pink Floral Vector Background template free illustrator

Floral Pattern Background Vector Template (Free)

Floral Pattern Background vector template free illustrator

Cute Sketchy Leaf Vector Frame Collection (Free)

Cute Sketchy Leaf Frame vector template free illustrator

Hand-Drawn Flowers Vector Template & Brush Pack (Free)

Hand Drawn Flowers vector template free illustrator

Swirl Flower Vector Template (Free)

Swirl Flower vector template free illustrator

Vector Butterfly Templates (Free)

Vector Butterfly vector template free illustrator

Floral Silhouette Vector Templates (Free)

Floral Silhouette vector template free illustrator

Swirl Flower Vector Templates (Free)

Swirl Flower vector template free illustrator

Hand-Drawn Swirls & Wreath Vector Templates (Free)

Hand Drawn Swirls Wreath vector template free illustrator

Decorative Vector Frame Set (Free)

Decorative Vector Frame template free illustrator

Vector Cherry Blossom Wreath Template (Free)

Cherry Blossom Wreath vector template free illustrator

Elegant Floral Vector Templates (Free)

Elegant Floral vector template free illustrator

Vector Floral Swirls (Free)

Floral Swirls vector template free illustrator

Abstract Floral Vector Template (Free)

Abstract Floral  vector template free illustrator

The post 20 Free Highly-Detailed Floral Vector Packs & Templates appeared first on Speckyboy Design Magazine.

Things You Should Know Before Customizing WordPress

WordPress is known for its incredible versatility. The content management system (CMS) provides developers with many ways to customize both the front and back ends.

This opens a whole world of possibilities when it comes to form and function. The ability to create fully-custom themes and plugins offers a path to building virtually any type of website. But it doesn’t end there.

Features like custom post types and taxonomies, along with custom fields allow for highly-specialized content. It can be organized in a way that fits your needs like a glove.

In addition, there are an endless array of smaller customizations. Code snippets targeting hooks and filters let you tweak existing functionality even further. And we’re only scratching the surface of what’s possible.

However, with all of this power comes some responsibility. Customizing WordPress requires some planning. And there are several important factors to consider. So, before you fire up that code editor, here are some things you should know about the process.

A Staging Site is a Must-Have Feature for Testing

Creating some custom functionality for your WordPress website? Avoid building it directly on your production site if at all possible. There are simply too many things that can go wrong.

One false move can lead to usability/performance problems or even downtime. Perhaps it’s not as big of a deal on a small site with few visitors. But a busy eCommerce or membership website? That could cost you both sales and customer loyalty.

This underscores the importance of having a staging site. It provides a playground of sorts where customizations can be tested before being made public. The idea is to hopefully catch and repair any issues before they impact users.

What’s more, there are a number of ways to set up a staging environment. Some web hosts offer them as part of their services. But you can also create your own either online or on your local machine.

Testing this way is very much worth the extra effort.

A website displayed on a laptop computer.

The Method for Implementing Customizations Matters

Part of the beauty of WordPress is that you can implement custom code in a number of ways. But it also has the potential to become problematic.

For example, a custom code snippet can easily be placed into your theme’s functions.php file. That is fine for the short term. But what happens when you change themes down the road?

Launching a redesign with a new theme will result in a loss of those customizations. And while moving any snippets to the new theme is possible, they could well get lost in the shuffle. Depending on the nature of the custom code, some key functionality may end up missing. In this type of situation, creating a custom plugin would be the more future-friendly solution.

When it comes to making changes to a third-party theme, there are similar considerations. Adding or editing code directly within the theme means potentially overwriting changes during an update. The best way around that issue is by utilizing a child theme.

The universal point is that, regardless of what you’re trying to achieve, it’s important to implement customizations in a way that will stand the test of time. Keeping things well-organized is also recommended so that you won’t have to search around in several different places to find what you need.

Website source code displayed on a screen.

There Will Be Future Maintenance Requirements

Neither WordPress nor its ecosystem of themes and plugins remain static. They evolve with the times. That means the code we write today will likely need to be maintained on a regular basis.

This follows the evolution of WordPress itself, but also of the variety of languages and libraries it depends on. PHP, JavaScript libraries such as jQuery and React, and CSS are prime examples. A change to these dependencies can impact performance and whether or not a particular feature still works.

Not only that, but plugins and themes also have their own agendas to implement. New features are added at a breakneck speed in this competitive environment. The ever-shifting Gutenberg block editor is also a moving target. This can lead to more compatibility issues as new versions continually roll out.

Therefore, you’ll want to pay close attention to what’s happening in these areas. Changes to WordPress core, themes, plugins, or dependencies could directly impact your existing customizations.

Hand tools hanging on a wall.

Customizing WordPress Is Serious Business

The mere act of customizing WordPress is one thing. But going about it the right way is another. It’s not something to dive into without some serious thought.

It’s important to consider what you want to accomplish, how it will be implemented, and how to keep it running smoothly into the future. The answers often come down to planning ahead and following best practices.

If you’re extending the functionality of WordPress itself or a plugin, read up on the documentation. There are likely some established methods built-in for getting the results you need.

The other side of the coin involves staying within coding standards. For example, eschewing any deprecated PHP or JavaScript and opting for the latest stable techniques. This will keep your code compliant and hopefully easier to maintain over time.

Keeping these things in mind will lead to more complete and sustainable results. That’s something that will benefit every WordPress developer.

The post Things You Should Know Before Customizing WordPress appeared first on Speckyboy Design Magazine.

A series of unfortunate commits: notable software security stories

In March, news broke that two malicious commits were introduced onto the in-development PHP 8.1 branch by perpetrators pretending to be Rasmus Lerdorf and Nikita Popov. The response by the PHP community to this attack was a shining example of the openness and transparency of the open-source world. We’re going to take a closer look at the PHP 8.1 story to uncover what lessons there are to be learned on the value of visibility in coding.

rn ML AI Pure PHP Neural Network Library

deep_learning_process
Package:
Summary:
Assemble a neural network that can learn patterns
Groups:
Author:
Description:
This package can assemble a neural network that can learn patterns...

Read more at https://www.phpclasses.org/package/12151-PHP-Assemble-a-neural-network-that-can-learn-patterns.html#2021-07-19-16:20:26

WP Briefing: Episode 13: Cherishing WordPress Diversity

In this episode, Josepha Haden Chomphosy discusses the importance of Diversity, Equity, and Inclusion to the fabric of the WordPress project and how we can move from a place of welcoming it to cherishing it.

Have a question you’d like answered? You can submit them to wpbriefing@wordpress.org, either written or as a voice recording.

Credits

Editor: Dustin Hartzler

Logo: Beatriz Fialho

Production: Chloé Bringmann

Song: Fearless First by Kevin MacLeod

References

Diversity Speaker Training Workshop

A WordPress Dinner Party

The Burden of Proof

Leadership At Any Level

Building a Culture of Safety

Leadership Basics: Ethics in Communication

WordPress 5.6

Transcript

Josepha Haden Chomphosy  00:10

Hello, everyone, and welcome to the WordPress Briefing, the podcast where you can catch quick explanations of the ideas behind the WordPress open source project, some insight into the community that supports it, and get a small list of big things coming up in the next two weeks. I’m your host, Joseph Haden Chomphosy. And before we get started, I have to be honest with you all, this episode and the next one have made me feel really anxious. This one is about Diversity, Equity, and Inclusion in open source, and especially in WordPress. And the next one is about accessibility in WordPress. And I feel like there’s just so much to do, and we don’t do enough, but we do what we can. And still, we will never be done with that work. And if you don’t know what I mean by Diversity, Equity, and Inclusion, you can kind of think of it this way. Diversity is bringing in people with different viewpoints and lived experiences. Equity is making sure everyone has what they need to get a fair chance of success, which is different from equality. And Inclusion is making sure that the environment is built to not only tolerate diverse groups but to celebrate them as well. So remember this as you listen to what I have to say here. We are never where we want to be in either of those spaces. But that shouldn’t stop us from looking at the things we have done to get us in the right direction. All right. Here we go.

Josepha Haden Chomphosy  01:54

I say a lot that we are a project that serves a majority collection of minority voices. WordPress is global in reach and open source in nature. And you would assume that what allows the software to be used by anyone would also enable it to be built by anyone. After all, your location doesn’t matter, and who employs you also doesn’t matter. And your relative social standing certainly shouldn’t matter. As long as you can communicate with the others contributing to the project, there should be no obstacle to your participation. The mission of the WordPress project is to democratize publishing, right? It’s to get the ability to have a website tap into passive income on your web presence. I mean, the job is to level the playing field for everyone. However, it’s my experience that bringing in new voices takes a lot of proactive work on behalf of leaders and contributors. It’s not enough to say, “Hey, I’m having a party,” you also have to say, “I’m having a party, and I’d like you to be there.” It’s not enough to think people will make their own space at this table. You have to make sure that you have table settings for everyone. And even beyond the basics of directing people to you. 

Josepha Haden Chomphosy  03:12

And on toward the next steps, you have to be honest about the fact that open source contribution requires a fair amount of privilege. By privilege, I mean the luxury of extra time or extra funding or just an understanding employer. WordPress supports 41% of the web. I think it’s 42% of the web right now. But less than 1% of people who use WordPress show up to help maintain it. And that 1% that does show up skews toward people who already have a pretty high level of representation and technology. And so, when you look at who is building it versus who is using it, it doesn’t always match. And since what we build so frequently reflects who we are, sometimes what we build doesn’t match the needs of the people who are using what we have.

Josepha Haden Chomphosy  04:10

So what has WordPress done to be proactive on the question of Diversity, Equity, and Inclusion? There are quite a few unseen things that have gone into this over the years and a few pretty visible things. This is a very long list. And it has a whole lot of just reference material. And so the show notes today will come in handy for people, and there will be just a laundry list of linked resources for everyone. 

Josepha Haden Chomphosy  04:39

But the first thing that WordPress has done is that we have accepted the burden of proof. I’m going to share a post about this in the show notes. That means we accept that it’s not the job of underrepresented folks to figure out if they are welcome. It’s up to us to make it clear that they are. So, there are three big little things that the community has done over the years. One is that many teams open their text-based meetings with an explanation of what is done in the meeting, who comes to the meetings, where to find help if you’re lost in the meeting, and for teams that have a specific type of requests that comes into those channels that aren’t handled in those channels. They also will share where people can go to get those requests taken care of. Many teams have also updated their team handbooks to have good beginner docs, limited use of inside jokes or jargon, and good first bugs. And also, there is a code of conduct in the community declaring that everyone is welcome and clarifies what to do if you see folks being unwelcoming. 

Josepha Haden Chomphosy  05:51

A second big thing that folks in the WordPress community have done is written down what was unwritten. Having things clearly documented unlocks institutional knowledge that you’d otherwise have to know someone to get. Clarity and process and the structure help anyone engage with your organization, not just the people who have extra time to figure things out. What that looks like in the WordPress project is that many teams have documented their workflows and their working spaces and just their general team norms. Many teams have also started defining what it means to be a team rep and holding open processes to choose those team reps. Many other community leaders and I have written down countless unspoken rules, guidelines, and philosophical underpinnings so that people don’t have to guess what we’re doing or why we’re doing things, or where we want to do them.

Josepha Haden Chomphosy  06:46

And the more visible thing that the WordPress project has been doing is that we found ways to invite people in, and they’re not failsafe; they’re not foolproof, but it is certainly a step in the right direction. The first one is an ongoing, diverse speaker training initiative. And I’ll include a link to that in the show notes as well. It is run by Jill Binder and a fantastic group of contributors that collaborate with her. And I really have loved watching that particular program grow and flourish and help WordPress make a difference where we absolutely can. 

Josepha Haden Chomphosy  07:27

The second thing that was pretty visible about how we invited people in was at the end of 2020, and we had an all-women and nonbinary release squad for our biggest release of the year; WordPress 5.6. I had a group of probably 70 women and nonbinary identifying folx who joined in the process and joined in learning more about the process. Some of them have continued in the project. Others have stepped away for various reasons. But all of them are welcome to return. And I encourage everyone to return to contribution when time and resources make that possible for you. 

Josepha Haden Chomphosy  08:09

And then the third thing that we’ve done, which I have talked about a lot, is the revival of the testing and triage practices. That has been work that’s been ongoing for a number of years. And it happens across multiple teams. It is not always immediately clear to people why the testing work. And the triage work is identifiable for me as a way to invite people into this process. And so I’ll be briefly clear about it right now. So testing as a practice brings in the users that otherwise don’t have a lot of spare time and that extra privilege to like, figure out what’s going on with WordPress, and contribute their own fixes to problems. They can give back to this project by being co-developers with us, co-creators with our entire process of making WordPress real and usable for the largest number of people that we can because we now support 42% of the web. And then, the triage practice invites in a diverse voice of people. Because you don’t necessarily always need to know everything about a project to help with triage. And when you’re helping with triage, you get active learning through participating in the process. But you also get passive learning from the people who already know huge amounts about the project and the process and everything that goes into it. And so it’s a low key low stress way to get your feet wet and start building that knowledge that sometimes is hard to come by unless you are actively working in it. So the testing practices, the triage practices, I really to the core of my being believe that those are active and ongoing ways for us to invite people who otherwise wouldn’t have a chance to get their voices heard in an open source project. And y’all, as I said at the start, y’all, there’s nothing about this list that I just shared, which makes me feel like our work on this is done. Just like any muscle, you don’t fight to peak fitness, and then hit the big stop button on time and say, “Now, I never have to work out again.” If we did, the world would be a very different place probably. But it does then lead us to the next steps for fostering a community culture that’s as broad as the people who use this software. If you believe in leadership at any level, as I do, there are a ton of things that you can do right now. But I’ll boil them down into three big chunks of things.

Josepha Haden Chomphosy  10:54

First, check your community area, or whatever community you want to apply this to, for things that need a little more proactive work. I will share a post called Building A Culture of Safety that will take you through a list of good first steps. And it is not as hard as it looks. When you say build a culture of safety, there are many really clear-cut minor changes that you can ask people to make and, in like, four or five different areas that can help your community be more welcoming and more open. 

Josepha Haden Chomphosy  11:30

The second thing that you can do is know that small changes add up over time and commit to making those changes where you can. If you are elite at any level, you know that supporting people and processes is the responsibility of everyone in the group. And if you can make your own autonomous decisions and commit to making small changes that make a big difference over time, you will be part of that solution. And that is not specific to any one group that we have in our communities. You can be an ally for anyone, whether they look like you, whether they have your same experiences, or not. And sometimes, it’s as easy as just holding space for the people who haven’t had a chance to talk yet. And on the subject of holding space and the way that we communicate. 

Josepha Haden Chomphosy  12:22

The third thing that I think is incredibly important is that you can take on as a foundational personal practice the concept of ethical communication. I’ll share a post about that as well in the show notes, but the core of it is that you have to know that what you say and don’t say what you do and don’t do has an impact on others and embrace that responsibility. All right, so you made it all the way through, and I am so proud of you. I’m sure you have questions about this. And I encourage you to share those. You can email them to me at wp briefing@wordpress.org.

Josepha Haden Chomphosy  13:10

This brings us to our small list of big things. I’ve got two things for you today. First and foremost, WordPress 5.8 gets released tomorrow. It’s a big release, and lots of people have been working on it. So get your update processes ready and keep an eye on wordpress.org/news for the announcement post. Second, and still pretty important, team reps have been working on their quarterly check-ins so that all other teams can get an idea of what’s happening around the WordPress office. Keep an eye out for that post on make.wordpress.org/updates. And that is your smallest of big things. Thank you for tuning in today for the WordPress Briefing. I’m your host Joseph Hayden Chomphosy, and I’ll see you again in a couple of weeks.

Powered by Gewgley