functions.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. /**
  3. * Assembler functions and definitions
  4. *
  5. * @link https://developer.wordpress.org/themes/basics/theme-functions/
  6. *
  7. * @package Assembler
  8. * @since Assembler 1.0
  9. */
  10. declare( strict_types = 1 );
  11. if ( ! function_exists( 'assembler_unregister_patterns' ) ) :
  12. /**
  13. * Unregister Jetpack patterns and core patterns bundled in WordPress.
  14. */
  15. function assembler_unregister_patterns() {
  16. $pattern_names = array(
  17. // Jetpack form patterns.
  18. 'contact-form',
  19. 'newsletter-form',
  20. 'rsvp-form',
  21. 'registration-form',
  22. 'appointment-form',
  23. 'feedback-form',
  24. // Patterns bundled in WordPress core.
  25. // These would be removed by remove_theme_support( 'core-block-patterns' )
  26. // if it's called on the init action with priority 9 from a plugin, not from a theme.
  27. 'core/query-standard-posts',
  28. 'core/query-medium-posts',
  29. 'core/query-small-posts',
  30. 'core/query-grid-posts',
  31. 'core/query-large-title-posts',
  32. 'core/query-offset-posts',
  33. 'core/social-links-shared-background-color',
  34. );
  35. foreach ( $pattern_names as $pattern_name ) {
  36. $pattern = \WP_Block_Patterns_Registry::get_instance()->get_registered( $pattern_name );
  37. if ( $pattern ) {
  38. unregister_block_pattern( $pattern_name );
  39. }
  40. }
  41. }
  42. endif;
  43. if ( ! function_exists( 'assembler_setup' ) ) :
  44. /**
  45. * Sets up theme defaults and registers support for various WordPress features.
  46. *
  47. * @since Assembler 1.0
  48. *
  49. * @return void
  50. */
  51. function assembler_setup() {
  52. // Enqueue editor styles.
  53. add_editor_style( 'style.css' );
  54. // Unregister Jetpack form patterns and core patterns bundled in WordPress.
  55. assembler_unregister_patterns();
  56. // Remove theme support for the core and featured patterns coming from the Dotorg pattern directory.
  57. remove_theme_support( 'core-block-patterns' );
  58. }
  59. endif;
  60. add_action( 'after_setup_theme', 'assembler_setup' );
  61. if ( ! function_exists( 'assembler_styles' ) ) :
  62. /**
  63. * Enqueue styles.
  64. *
  65. * @since Assembler 1.0
  66. *
  67. * @return void
  68. */
  69. function assembler_styles() {
  70. // Register theme stylesheet.
  71. wp_register_style(
  72. 'assembler-style',
  73. get_stylesheet_directory_uri() . '/style.css',
  74. array(),
  75. wp_get_theme()->get( 'Version' )
  76. );
  77. // Enqueue theme stylesheet.
  78. wp_enqueue_style( 'assembler-style' );
  79. }
  80. endif;
  81. add_action( 'wp_enqueue_scripts', 'assembler_styles' );