wpcom.php 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. <?php
  2. /**
  3. * WordPress.com-specific functions and definitions.
  4. *
  5. * This file is centrally included from `wp-content/mu-plugins/wpcom-theme-compat.php`.
  6. *
  7. * @package Blank Canvas
  8. */
  9. /**
  10. * Remove setting for hiding page title on the homepage.
  11. */
  12. function blank_canvas_wpcom_customize_update( $wp_customize ) {
  13. $wp_customize->remove_control( 'hide_front_page_title');
  14. }
  15. add_action( 'customize_register', 'blank_canvas_wpcom_customize_update', 11 );
  16. /**
  17. * Enqueue CSS for Customizer message.
  18. */
  19. function blank_canvas_customizer_enqueue() {
  20. wp_enqueue_style( 'blank-canvas-customizer-style', get_stylesheet_directory_uri() . '/inc/wpcom-customizer.css', array(), wp_get_theme()->get( 'Version' ) );
  21. }
  22. add_action( 'customize_controls_enqueue_scripts', 'blank_canvas_customizer_enqueue' );
  23. /**
  24. * Register WP.com-only block patterns.
  25. */
  26. if ( ! function_exists( 'blank_canvas_register_wpcom_block_patterns' ) ) :
  27. function blank_canvas_register_wpcom_block_patterns() {
  28. if ( function_exists( 'register_block_pattern' ) ) {
  29. /* This pattern is WP.com-only because it relies on the Layout Grid block. */
  30. register_block_pattern(
  31. 'blank-canvas/card',
  32. array(
  33. 'title' => __( 'Card', 'blank-canvas' ),
  34. 'categories' => array( 'blank-canvas' ),
  35. 'content' => '<!-- wp:jetpack/layout-grid {"column1DesktopSpan":4,"column1DesktopOffset":4,"column1TabletSpan":4,"column1TabletOffset":2,"column1MobileSpan":4,"column2DesktopOffset":8,"column2TabletOffset":13,"className":"column1-desktop-grid__span-4 column1-desktop-grid__start-5 column1-desktop-grid__row-1 column1-tablet-grid__span-4 column1-tablet-grid__start-3 column1-tablet-grid__row-1 column1-mobile-grid__span-4 column1-mobile-grid__row-1"} -->
  36. <div class="wp-block-jetpack-layout-grid alignfull column1-desktop-grid__span-4 column1-desktop-grid__start-5 column1-desktop-grid__row-1 column1-tablet-grid__span-4 column1-tablet-grid__start-3 column1-tablet-grid__row-1 column1-mobile-grid__span-4 column1-mobile-grid__row-1"><!-- wp:jetpack/layout-grid-column -->
  37. <div class="wp-block-jetpack-layout-grid-column wp-block-jetpack-layout-grid__padding-none"><!-- wp:image {"id":16,"sizeSlug":"large","linkDestination":"none","className":"margin-bottom-none"} -->
  38. <figure class="wp-block-image size-large margin-bottom-none"><img src="' . esc_url( get_stylesheet_directory_uri() . '/assets/pattern-portrait.jpg' ) . '" alt="'. esc_attr__( 'Portrait of a woman against a pink and blue background.', 'blank-canvas' ) . '"/></figure>
  39. <!-- /wp:image -->
  40. <!-- wp:group {"className":"margin-top-none","style":{"color":{"background":"#ebfbff"}}} -->
  41. <div class="wp-block-group margin-top-none has-background" style="background-color:#ebfbff"><div class="wp-block-group__inner-container"><!-- wp:heading {"level":1,"className":"margin-bottom-none","textColor":"primary","style":{"typography":{"fontSize":"32px"}}} -->
  42. <h1 class="margin-bottom-none has-primary-color has-text-color" style="font-size:32px"><strong>' . __( 'Kate Adams', 'blank-canvas' ) . '</strong></h1>
  43. <!-- /wp:heading -->
  44. <!-- wp:paragraph {"className":"margin-top-half","textColor":"primary","style":{"typography":{"fontSize":"18px"}}} -->
  45. <p class="margin-top-half has-primary-color has-text-color" style="font-size:18px">'. esc_html__( 'Hi! I’m a lead strategist for growing sustainable revenue streams for integrated fundraising.', 'blank-canvas' ) . '</p>
  46. <!-- /wp:paragraph -->
  47. <!-- wp:buttons {"contentJustification":"center"} -->
  48. <div class="wp-block-buttons is-content-justification-center"><!-- wp:button {"borderRadius":4,"style":{"color":{"text":"#ffffff","background":"#067eb1"}}} -->
  49. <div class="wp-block-button"><a class="wp-block-button__link has-text-color has-background" style="border-radius:4px;background-color:#067eb1;color:#ffffff">'. esc_html__( 'Get in touch', 'blank-canvas' ) . '</a></div>
  50. <!-- /wp:button --></div>
  51. <!-- /wp:buttons -->
  52. <!-- wp:social-links {"align":"center"} -->
  53. <ul class="wp-block-social-links aligncenter"><!-- wp:social-link {"url":"https://linkedin.com/","service":"linkedin"} /-->
  54. <!-- wp:social-link {"url":"https://twitter.com/","service":"twitter"} /-->
  55. <!-- wp:social-link {"url":"https://instagram.com/","service":"instagram"} /--></ul>
  56. <!-- /wp:social-links --></div></div>
  57. <!-- /wp:group --></div>
  58. <!-- /wp:jetpack/layout-grid-column --></div>
  59. <!-- /wp:jetpack/layout-grid -->',
  60. )
  61. );
  62. /* This pattern is WP.com-only because it relies on the Contact Form block. */
  63. register_block_pattern(
  64. 'blank-canvas/email-signup',
  65. array(
  66. 'title' => __( 'Email Signup', 'blank-canvas' ),
  67. 'categories' => array( 'blank-canvas' ),
  68. 'content' => '<!-- wp:cover {"url":"' . esc_url( get_stylesheet_directory_uri() . '/assets/pattern-art.jpg' ) . '","id":1934,"dimRatio":60,"overlayColor":"secondary","minHeight":100,"minHeightUnit":"vh","contentPosition":"top left","align":"full"} -->
  69. <div class="wp-block-cover alignfull has-background-dim-60 has-secondary-background-color has-background-dim has-custom-content-position is-position-top-left" style="background-image:url(' . esc_url( get_stylesheet_directory_uri() . '/assets/pattern-art.jpg' ) . ');min-height:100vh"><div class="wp-block-cover__inner-container"><!-- wp:columns -->
  70. <div class="wp-block-columns"><!-- wp:column {"width":"5%"} -->
  71. <div class="wp-block-column" style="flex-basis:5%"></div>
  72. <!-- /wp:column -->
  73. <!-- wp:column {"width":50} -->
  74. <div class="wp-block-column" style="flex-basis:50%"><!-- wp:spacer {"height":10} -->
  75. <div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>
  76. <!-- /wp:spacer -->
  77. <!-- wp:heading {"level":1,"style":{"typography":{"fontSize":"32px"}}} -->
  78. <h1 style="font-size:32px"><strong>'. esc_html__( 'Virtual Art Classes', 'blank-canvas' ) . '</strong></h1>
  79. <!-- /wp:heading -->
  80. <!-- wp:paragraph -->
  81. <p>'. esc_html__( 'Join instructor Jaime Adams for a series of virtual classes aimed at helping you hone your drawing skills. We will focus on composition, perspective, contour, representing volume, and more!', 'blank-canvas' ) . '</p>
  82. <!-- /wp:paragraph -->
  83. <!-- wp:jetpack/contact-form -->
  84. <!-- wp:jetpack/field-email {"required":true,"options":[]} /-->
  85. <!-- wp:jetpack/button {"element":"button","text":"'. esc_html__( 'Learn More', 'blank-canvas' ) . '","textColor":"secondary","backgroundColor":"background"} /-->
  86. <!-- /wp:jetpack/contact-form --></div>
  87. <!-- /wp:column --></div>
  88. <!-- /wp:columns --></div></div>
  89. <!-- /wp:cover -->',
  90. )
  91. );
  92. /*
  93. * @TODO: This is commented out until the following Jetpack issue is resolved:
  94. * https://github.com/Automattic/jetpack/issues/19113
  95. *
  96. * This pattern is WP.com-only because it relies on the Jetpack Subscription block.
  97. register_block_pattern(
  98. 'blank-canvas/links-subscription-form',
  99. array(
  100. 'title' => __( 'Subscription Form and Links', 'blank-canvas' ),
  101. 'categories' => array( 'link-in-bio' ),
  102. 'content' => '<!-- wp:cover {"overlayColor":"primary","minHeight":100,"minHeightUnit":"vh","align":"full"} -->
  103. <div class="wp-block-cover alignfull has-primary-background-color has-background-dim" style="min-height:100vh"><div class="wp-block-cover__inner-container"><!-- wp:spacer {"height":20} -->
  104. <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
  105. <!-- /wp:spacer -->
  106. <!-- wp:image {"align":"center","id":71,"width":120,"height":120,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} -->
  107. <div class="wp-block-image is-style-rounded"><figure class="aligncenter size-large is-resized"><img src="' . esc_url( get_stylesheet_directory_uri() . '/assets/pattern-guitar.jpg' ) . '" alt="'. esc_attr__( 'Image of a man with a guitar.', 'blank-canvas' ) . '" class="wp-image-71" width="120" height="120"/></figure></div>
  108. <!-- /wp:image -->
  109. <!-- wp:heading {"textAlign":"center","level":1,"textColor":"background"} -->
  110. <h1 class="has-text-align-center has-background-color has-text-color"><strong>'. esc_html__( 'Narrow Dog', 'blank-canvas' ) . '</strong></h1>
  111. <!-- /wp:heading -->
  112. <!-- wp:paragraph {"align":"center","textColor":"background"} -->
  113. <p class="has-text-align-center has-background-color has-text-color"><em>'. esc_html__( 'Noise Rock from Milwaukee, WI', 'blank-canvas' ) . '</em></p>
  114. <!-- /wp:paragraph -->
  115. <!-- wp:spacer {"height":1} -->
  116. <div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>
  117. <!-- /wp:spacer -->
  118. <!-- wp:jetpack/subscriptions {"subscribePlaceholder":"Enter your email address","buttonBackgroundColor":"background","textColor":"primary","fontSize":"undefinedpx","customFontSize":"undefinedpx","padding":16} -->
  119. <div class="wp-block-jetpack-subscriptions wp-block-jetpack-subscriptions__supports-newline">[jetpack_subscription_form subscribe_placeholder="Enter your email address" show_subscribers_total="false" button_on_newline="false" custom_font_size="undefinedpx" custom_border_radius="0" custom_border_weight="1" custom_padding="16" custom_spacing="10" submit_button_classes="has-undefinedpx-font-size has-text-color has-primary-color has-background has-background-background-color" email_field_classes="has-undefinedpx-font-size" show_only_email_and_button="true"]</div>
  120. <!-- /wp:jetpack/subscriptions -->
  121. <!-- wp:buttons {"contentJustification":"left"} -->
  122. <div class="wp-block-buttons is-content-justification-left"><!-- wp:button {"borderRadius":0,"backgroundColor":"background","textColor":"primary","width":50} -->
  123. <div class="wp-block-button has-custom-width wp-block-button__width-50"><a class="wp-block-button__link has-primary-color has-background-background-color has-text-color has-background no-border-radius">'. esc_html__( 'Spotify', 'blank-canvas' ) . '</a></div>
  124. <!-- /wp:button -->
  125. <!-- wp:button {"borderRadius":0,"backgroundColor":"background","textColor":"primary","width":50} -->
  126. <div class="wp-block-button has-custom-width wp-block-button__width-50"><a class="wp-block-button__link has-primary-color has-background-background-color has-text-color has-background no-border-radius">'. esc_html__( 'Bandcamp', 'blank-canvas' ) . '</a></div>
  127. <!-- /wp:button -->
  128. <!-- wp:button {"borderRadius":0,"backgroundColor":"background","textColor":"primary","width":50} -->
  129. <div class="wp-block-button has-custom-width wp-block-button__width-50"><a class="wp-block-button__link has-primary-color has-background-background-color has-text-color has-background no-border-radius">'. esc_html__( 'Merch', 'blank-canvas' ) . '</a></div>
  130. <!-- /wp:button -->
  131. <!-- wp:button {"borderRadius":0,"backgroundColor":"background","textColor":"primary","width":50} -->
  132. <div class="wp-block-button has-custom-width wp-block-button__width-50"><a class="wp-block-button__link has-primary-color has-background-background-color has-text-color has-background no-border-radius">'. esc_html__( 'Website', 'blank-canvas' ) . '</a></div>
  133. <!-- /wp:button --></div>
  134. <!-- /wp:buttons -->
  135. <!-- wp:spacer {"height":1} -->
  136. <div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>
  137. <!-- /wp:spacer -->
  138. <!-- wp:social-links {"align":"center","className":"is-style-default"} -->
  139. <ul class="wp-block-social-links aligncenter is-style-default"><!-- wp:social-link {"url":"https://spotify.com","service":"spotify"} /-->
  140. <!-- wp:social-link {"url":"https://soundcloud.com","service":"soundcloud"} /-->
  141. <!-- wp:social-link {"url":"https://apple.com/itunes","service":"chain"} /--></ul>
  142. <!-- /wp:social-links -->
  143. <!-- wp:spacer {"height":20} -->
  144. <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
  145. <!-- /wp:spacer --></div></div>',
  146. )
  147. ); */
  148. register_block_pattern(
  149. 'blank-canvas/coming-soon-solid-color',
  150. array(
  151. 'title' => __( 'Coming Soon: Solid Color', 'blank-canvas' ),
  152. 'categories' => array( 'coming-soon' ),
  153. 'content' => '<!-- wp:cover {"customOverlayColor":"#e8ffe6","minHeight":100,"minHeightUnit":"vh","align":"full"} -->
  154. <div class="wp-block-cover alignfull has-background-dim" style="background-color:#e8ffe6;min-height:100vh"><div class="wp-block-cover__inner-container"><!-- wp:image {"align":"center","id":2742,"width":100,"height":100,"sizeSlug":"medium","linkDestination":"none"} -->
  155. <div class="wp-block-image"><figure class="aligncenter size-medium is-resized"><img src="' . esc_url( get_stylesheet_directory_uri() . '/assets/pattern-notice.png' ) . '" alt="' . esc_html__( 'A megaphone icon with sharp angles.', 'blank-canvas' ) . '" class="wp-image-2742" width="100" height="100"/></figure></div>
  156. <!-- /wp:image -->
  157. <!-- wp:spacer {"height":5} -->
  158. <div style="height:5px" aria-hidden="true" class="wp-block-spacer"></div>
  159. <!-- /wp:spacer -->
  160. <!-- wp:heading {"textAlign":"center","align":"wide","style":{"typography":{"fontSize":"64px","lineHeight":"1.1"}},"textColor":"primary"} -->
  161. <h2 class="alignwide has-text-align-center has-primary-color has-text-color" style="font-size:64px;line-height:1.1"><strong>' . esc_html__( 'Coming Soon', 'blank-canvas' ) . '</strong></h2>
  162. <!-- /wp:heading -->
  163. <!-- wp:paragraph {"align":"center","textColor":"primary"} -->
  164. <p class="has-text-align-center has-primary-color has-text-color">' . esc_html__( 'Sign up to hear when my journey begins.', 'blank-canvas' ) . '</p>
  165. <!-- /wp:paragraph -->
  166. <!-- wp:jetpack/subscriptions {"buttonBackgroundColor":"primary","textColor":"background","borderRadius":6,"borderColor":"#000000","customBorderColor":"#000000"} -->
  167. <div class="wp-block-jetpack-subscriptions wp-block-jetpack-subscriptions__supports-newline">[jetpack_subscription_form show_subscribers_total="false" button_on_newline="false" custom_font_size="16px" custom_border_radius="6" custom_border_weight="1" custom_border_color="#000000" custom_padding="15" custom_spacing="10" submit_button_classes="has-000000-border-color has-text-color has-background-color has-background has-primary-background-color" email_field_classes="has-000000-border-color" show_only_email_and_button="true"]</div>
  168. <!-- /wp:jetpack/subscriptions -->
  169. <!-- wp:social-links {"iconColor":"primary","iconColorValue":"#000000","align":"center","className":"is-style-logos-only"} -->
  170. <ul class="wp-block-social-links aligncenter has-icon-color is-style-logos-only"><!-- wp:social-link {"url":"#","service":"facebook"} /-->
  171. <!-- wp:social-link {"url":"#","service":"twitter"} /-->
  172. <!-- wp:social-link {"url":"#","service":"instagram"} /--></ul>
  173. <!-- /wp:social-links --></div></div>
  174. <!-- /wp:cover -->',
  175. )
  176. );
  177. register_block_pattern(
  178. 'blank-canvas/coming-soon-simple',
  179. array(
  180. 'title' => __( 'Coming Soon: Simple', 'blank-canvas' ),
  181. 'categories' => array( 'coming-soon' ),
  182. 'content' => '<!-- wp:cover {"overlayColor":"background","minHeight":948,"minHeightUnit":"px","align":"full"} -->
  183. <div class="wp-block-cover alignfull has-background-background-color has-background-dim" style="min-height:948px"><div class="wp-block-cover__inner-container"><!-- wp:columns {"align":"full"} -->
  184. <div class="wp-block-columns alignfull"><!-- wp:column -->
  185. <div class="wp-block-column"><!-- wp:heading {"textColor":"primary","style":{"typography":{"lineHeight":"1","fontSize":"64px"}}} -->
  186. <h2 class="has-primary-color has-text-color" style="font-size:64px;line-height:1"><strong>' . esc_html__( 'Coming Soon', 'blank-canvas' ) . '</strong></h2>
  187. <!-- /wp:heading -->
  188. <!-- wp:paragraph {"textColor":"primary"} -->
  189. <p class="has-primary-color has-text-color">' . esc_html__( 'A new blog by MindStomp. Sign up to be notified when we launch.', 'blank-canvas' ) . '</p>
  190. <!-- /wp:paragraph -->
  191. <!-- wp:jetpack/subscriptions {"buttonBackgroundColor":"background","textColor":"primary","borderRadius":0,"borderWeight":3,"borderColor":"#000000","customBorderColor":"#000000"} -->
  192. <div class="wp-block-jetpack-subscriptions wp-block-jetpack-subscriptions__supports-newline">[jetpack_subscription_form show_subscribers_total="false" button_on_newline="false" custom_font_size="16px" custom_border_radius="0" custom_border_weight="3" custom_border_color="#000000" custom_padding="15" custom_spacing="10" submit_button_classes="no-border-radius has-000000-border-color has-text-color has-primary-color has-background has-background-background-color" email_field_classes="no-border-radius has-000000-border-color" show_only_email_and_button="true"]</div>
  193. <!-- /wp:jetpack/subscriptions --></div>
  194. <!-- /wp:column -->
  195. <!-- wp:column -->
  196. <div class="wp-block-column"></div>
  197. <!-- /wp:column --></div>
  198. <!-- /wp:columns --></div></div>
  199. <!-- /wp:cover -->',
  200. )
  201. );
  202. register_block_pattern(
  203. 'blank-canvas/coming-soon-app',
  204. array(
  205. 'title' => __( 'Coming Soon: App', 'blank-canvas' ),
  206. 'categories' => array( 'coming-soon' ),
  207. 'content' => '<!-- wp:media-text {"align":"full","mediaPosition":"right","mediaId":2787,"mediaLink":"' . esc_url( get_stylesheet_directory_uri() . '/assets/pattern-watch.jpg' ) . '","mediaType":"image","mediaWidth":54,"imageFill":false} -->
  208. <div class="wp-block-media-text alignfull has-media-on-the-right is-stacked-on-mobile" style="grid-template-columns:auto 54%"><figure class="wp-block-media-text__media"><img src="' . esc_url( get_stylesheet_directory_uri() . '/assets/pattern-watch.jpg' ) . '" alt="' . esc_html__( 'A close-up of a black smart watch against a pink background.', 'blank-canvas' ) . '" class="wp-image-2787 size-full"/></figure><div class="wp-block-media-text__content"><!-- wp:heading {"style":{"color":{"text":"#2b353a"},"typography":{"fontSize":"50px","lineHeight":"1.2"}}} -->
  209. <h2 class="has-text-color" style="color:#2b353a;font-size:50px;line-height:1.2"><strong>' . esc_html__( 'A new app for designers', 'blank-canvas' ) . '</strong></h2>
  210. <!-- /wp:heading -->
  211. <!-- wp:paragraph {"textColor":"primary"} -->
  212. <p class="has-primary-color has-text-color">' . esc_html__( 'We’re launching soon. Be the first to sign up!', 'blank-canvas' ) . '</p>
  213. <!-- /wp:paragraph -->
  214. <!-- wp:jetpack/subscriptions {"submitButtonText":"\u003cstrong\u003eSUBSCRIBE\u003c/strong\u003e","customButtonBackgroundColor":"#dfcbda","textColor":"primary","borderRadius":4,"padding":20} -->
  215. <div class="wp-block-jetpack-subscriptions wp-block-jetpack-subscriptions__supports-newline">[jetpack_subscription_form show_subscribers_total="false" button_on_newline="false" submit_button_text="<strong>' . esc_html__( 'SUBSCRIBE', 'blank-canvas' ) . '</strong>" custom_background_button_color="#dfcbda" custom_font_size="16px" custom_border_radius="4" custom_border_weight="1" custom_padding="20" custom_spacing="10" submit_button_classes="has-text-color has-primary-color" email_field_classes="" show_only_email_and_button="true"]</div>
  216. <!-- /wp:jetpack/subscriptions --></div></div>
  217. <!-- /wp:media-text -->',
  218. )
  219. );
  220. }
  221. }
  222. endif;
  223. add_action( 'after_setup_theme', 'blank_canvas_register_wpcom_block_patterns', 12 );