?template-tags.php000064400000056027147336226330010047 0ustar00 '%1$s%2$s', 'logo_class' => 'site-logo', 'title' => '%2$s', 'title_class' => 'site-title', 'home_wrap' => '

%2$s

', 'single_wrap' => '
%2$s
', 'condition' => ( is_front_page() || is_home() ) && ! is_page(), ); $args = wp_parse_args( $args, $defaults ); /** * Filters the arguments for `twentytwenty_site_logo()`. * * @since Twenty Twenty 1.0 * * @param array $args Parsed arguments. * @param array $defaults Function's default arguments. */ $args = apply_filters( 'twentytwenty_site_logo_args', $args, $defaults ); if ( has_custom_logo() ) { $contents = sprintf( $args['logo'], $logo, esc_html( $site_title ) ); $classname = $args['logo_class']; } else { $contents = sprintf( $args['title'], esc_url( get_home_url( null, '/' ) ), esc_html( $site_title ) ); $classname = $args['title_class']; } $wrap = $args['condition'] ? 'home_wrap' : 'single_wrap'; $html = sprintf( $args[ $wrap ], $classname, $contents ); /** * Filters the arguments for `twentytwenty_site_logo()`. * * @since Twenty Twenty 1.0 * * @param string $html Compiled HTML based on our arguments. * @param array $args Parsed arguments. * @param string $classname Class name based on current view, home or single. * @param string $contents HTML for site title or logo. */ $html = apply_filters( 'twentytwenty_site_logo', $html, $args, $classname, $contents ); if ( ! $display ) { return $html; } echo $html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Displays the site description. * * @since Twenty Twenty 1.0 * * @param bool $display Display or return the HTML. * @return string The HTML to display. */ function twentytwenty_site_description( $display = true ) { $description = get_bloginfo( 'description' ); if ( ! $description ) { return; } $wrapper = '
%s
'; $html = sprintf( $wrapper, esc_html( $description ) ); /** * Filters the HTML for the site description. * * @since Twenty Twenty 1.0 * * @param string $html The HTML to display. * @param string $description Site description via `bloginfo()`. * @param string $wrapper The format used in case you want to reuse it in a `sprintf()`. */ $html = apply_filters( 'twentytwenty_site_description', $html, $description, $wrapper ); if ( ! $display ) { return $html; } echo $html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Comments */ /** * Checks if the specified comment is written by the author of the post commented on. * * @since Twenty Twenty 1.0 * * @param object $comment Comment data. * @return bool */ function twentytwenty_is_comment_by_post_author( $comment = null ) { if ( is_object( $comment ) && $comment->user_id > 0 ) { $user = get_userdata( $comment->user_id ); $post = get_post( $comment->comment_post_ID ); if ( ! empty( $user ) && ! empty( $post ) ) { return $comment->user_id === $post->post_author; } } return false; } /** * Filters comment reply link to not JS scroll. * * Filter the comment reply link to add a class indicating it should not use JS slow-scroll, as it * makes it scroll to the wrong position on the page. * * @since Twenty Twenty 1.0 * * @param string $link Link to the top of the page. * @return string Link to the top of the page. */ function twentytwenty_filter_comment_reply_link( $link ) { $link = str_replace( 'class=\'', 'class=\'do-not-scroll ', $link ); return $link; } add_filter( 'comment_reply_link', 'twentytwenty_filter_comment_reply_link' ); /** * Post Meta */ /** * Retrieves and displays the post meta. * * If it's a single post, outputs the post meta values specified in the Customizer settings. * * @since Twenty Twenty 1.0 * * @param int $post_id The ID of the post for which the post meta should be output. * @param string $location Which post meta location to output – single or preview. */ function twentytwenty_the_post_meta( $post_id = null, $location = 'single-top' ) { echo twentytwenty_get_post_meta( $post_id, $location ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped in twentytwenty_get_post_meta(). } /** * Filters the edit post link to add an icon and use the post meta structure. * * @since Twenty Twenty 1.0 * * @param string $link Anchor tag for the edit link. * @param int $post_id Post ID. * @param string $text Anchor text. */ function twentytwenty_edit_post_link( $link, $post_id, $text ) { if ( is_admin() ) { return $link; } $edit_url = get_edit_post_link( $post_id ); if ( ! $edit_url ) { return; } $text = sprintf( wp_kses( /* translators: %s: Post title. Only visible to screen readers. */ __( 'Edit %s', 'twentytwenty' ), array( 'span' => array( 'class' => array(), ), ) ), get_the_title( $post_id ) ); return '
'; } add_filter( 'edit_post_link', 'twentytwenty_edit_post_link', 10, 3 ); /** * Retrieves the post meta. * * @since Twenty Twenty 1.0 * * @param int $post_id The ID of the post. * @param string $location The location where the meta is shown. */ function twentytwenty_get_post_meta( $post_id = null, $location = 'single-top' ) { // Require post ID. if ( ! $post_id ) { return; } /** * Filters post types array. * * This filter can be used to hide post meta information of post, page or custom post type * registered by child themes or plugins. * * @since Twenty Twenty 1.0 * * @param array Array of post types. */ $disallowed_post_types = apply_filters( 'twentytwenty_disallowed_post_types_for_meta_output', array( 'page' ) ); // Check whether the post type is allowed to output post meta. if ( in_array( get_post_type( $post_id ), $disallowed_post_types, true ) ) { return; } $post_meta_wrapper_classes = ''; $post_meta_classes = ''; // Get the post meta settings for the location specified. if ( 'single-top' === $location ) { /** * Filters post meta info visibility. * * Use this filter to hide post meta information like Author, Post date, Comments, Is sticky status. * * @since Twenty Twenty 1.0 * * @param array $args { * @type string $author * @type string $post-date * @type string $comments * @type string $sticky * } */ $post_meta = apply_filters( 'twentytwenty_post_meta_location_single_top', array( 'author', 'post-date', 'comments', 'sticky', ) ); $post_meta_wrapper_classes = ' post-meta-single post-meta-single-top'; } elseif ( 'single-bottom' === $location ) { /** * Filters post tags visibility. * * Use this filter to hide post tags. * * @since Twenty Twenty 1.0 * * @param array $args { * @type string $tags * } */ $post_meta = apply_filters( 'twentytwenty_post_meta_location_single_bottom', array( 'tags', ) ); $post_meta_wrapper_classes = ' post-meta-single post-meta-single-bottom'; } // If the post meta setting has the value 'empty', it's explicitly empty and the default post meta shouldn't be output. if ( $post_meta && ! in_array( 'empty', $post_meta, true ) ) { // Make sure we don't output an empty container. $has_meta = false; $the_post = get_post( $post_id ); setup_postdata( $the_post ); ob_start(); ?>
show_toggles ) && $args->show_toggles ) { // Wrap the menu item link contents in a div, used for positioning. $args->before = '
'; $args->after = ''; // Add a toggle to items with children. if ( in_array( 'menu-item-has-children', $item->classes, true ) ) { $toggle_target_string = '.menu-modal .menu-item-' . $item->ID . ' > .sub-menu'; $toggle_duration = twentytwenty_toggle_duration(); // Add the sub menu toggle. $args->after .= ''; } // Close the wrapper. $args->after .= '
'; // Add sub menu icons to the primary menu without toggles. } elseif ( 'primary' === $args->theme_location ) { if ( in_array( 'menu-item-has-children', $item->classes, true ) ) { $args->after = ''; } else { $args->after = ''; } } return $args; } add_filter( 'nav_menu_item_args', 'twentytwenty_add_sub_toggles_to_main_menu', 10, 2 ); /** * Displays SVG icons in social links menu. * * @since Twenty Twenty 1.0 * * @param string $item_output The menu item's starting HTML output. * @param WP_Post $item Menu item data object. * @param int $depth Depth of the menu. Used for padding. * @param stdClass $args An object of wp_nav_menu() arguments. * @return string The menu item output with social icon. */ function twentytwenty_nav_menu_social_icons( $item_output, $item, $depth, $args ) { // Change SVG icon inside social links menu if there is supported URL. if ( 'social' === $args->theme_location ) { $svg = TwentyTwenty_SVG_Icons::get_social_link_svg( $item->url ); if ( empty( $svg ) ) { $svg = twentytwenty_get_theme_svg( 'link' ); } $item_output = str_replace( $args->link_after, '' . $svg, $item_output ); } return $item_output; } add_filter( 'walker_nav_menu_start_el', 'twentytwenty_nav_menu_social_icons', 10, 4 ); /** * Classes */ /** * Adds 'no-js' class. * * If we're missing JavaScript support, the HTML element will have a 'no-js' class. * * @since Twenty Twenty 1.0 */ function twentytwenty_no_js_class() { ?> post_type : false; // Check whether we're singular. if ( is_singular() ) { $classes[] = 'singular'; } // Check whether the current page should have an overlay header. if ( is_page_template( array( 'templates/template-cover.php' ) ) ) { $classes[] = 'overlay-header'; } // Check whether the current page has full-width content. if ( is_page_template( array( 'templates/template-full-width.php' ) ) ) { $classes[] = 'has-full-width-content'; } // Check for enabled search. if ( true === get_theme_mod( 'enable_header_search', true ) ) { $classes[] = 'enable-search-modal'; } // Check for post thumbnail. if ( is_singular() && has_post_thumbnail() ) { $classes[] = 'has-post-thumbnail'; } elseif ( is_singular() ) { $classes[] = 'missing-post-thumbnail'; } // Check whether we're in the customizer preview. if ( is_customize_preview() ) { $classes[] = 'customizer-preview'; } // Check if posts have single pagination. if ( is_single() && ( get_next_post() || get_previous_post() ) ) { $classes[] = 'has-single-pagination'; } else { $classes[] = 'has-no-pagination'; } // Check if we're showing comments. if ( $post && ( ( 'post' === $post_type || comments_open() || get_comments_number() ) && ! post_password_required() ) ) { $classes[] = 'showing-comments'; } else { $classes[] = 'not-showing-comments'; } // Check if avatars are visible. $classes[] = get_option( 'show_avatars' ) ? 'show-avatars' : 'hide-avatars'; // Slim page template class names (class = name - file suffix). if ( is_page_template() ) { $classes[] = basename( get_page_template_slug(), '.php' ); } // Check for the elements output in the top part of the footer. $has_footer_menu = has_nav_menu( 'footer' ); $has_social_menu = has_nav_menu( 'social' ); $has_sidebar_1 = is_active_sidebar( 'sidebar-1' ); $has_sidebar_2 = is_active_sidebar( 'sidebar-2' ); // Add a class indicating whether those elements are output. if ( $has_footer_menu || $has_social_menu || $has_sidebar_1 || $has_sidebar_2 ) { $classes[] = 'footer-top-visible'; } else { $classes[] = 'footer-top-hidden'; } // Get header/footer background color. $header_footer_background = get_theme_mod( 'header_footer_background_color', '#ffffff' ); $header_footer_background = strtolower( '#' . ltrim( $header_footer_background, '#' ) ); // Get content background color. $background_color = get_theme_mod( 'background_color', 'f5efe0' ); $background_color = strtolower( '#' . ltrim( $background_color, '#' ) ); // Add extra class if main background and header/footer background are the same color. if ( $background_color === $header_footer_background ) { $classes[] = 'reduced-spacing'; } return $classes; } add_filter( 'body_class', 'twentytwenty_body_classes' ); /** * Archives */ /** * Filters the archive title and styles the word before the first colon. * * @since Twenty Twenty 1.0 * * @param string $title Current archive title. * @return string Current archive title. */ function twentytwenty_get_the_archive_title( $title ) { /** * Filters the regular expression used to style the word before the first colon. * * @since Twenty Twenty 1.0 * * @param array $regex An array of regular expression pattern and replacement. */ $regex = apply_filters( 'twentytwenty_get_the_archive_title_regex', array( 'pattern' => '/(\A[^\:]+\:)/', 'replacement' => '$1', ) ); if ( empty( $regex ) ) { return $title; } return preg_replace( $regex['pattern'], $regex['replacement'], $title ); } add_filter( 'get_the_archive_title', 'twentytwenty_get_the_archive_title' ); /** * Miscellaneous */ /** * Toggles animation duration in milliseconds. * * @since Twenty Twenty 1.0 * * @return int Duration in milliseconds */ function twentytwenty_toggle_duration() { /** * Filters the animation duration/speed used usually for submenu toggles. * * @since Twenty Twenty 1.0 * * @param int $duration Duration in milliseconds. */ $duration = apply_filters( 'twentytwenty_toggle_duration', 250 ); return $duration; } /** * Gets unique ID. * * This is a PHP implementation of Underscore's uniqueId method. A static variable * contains an integer that is incremented with each call. This number is returned * with the optional prefix. As such the returned value is not universally unique, * but it is unique across the life of the PHP process. * * @since Twenty Twenty 1.0 * * @see wp_unique_id() Themes requiring WordPress 5.0.3 and greater should use this instead. * * @param string $prefix Prefix for the returned ID. * @return string Unique ID. */ function twentytwenty_unique_id( $prefix = '' ) { static $id_counter = 0; if ( function_exists( 'wp_unique_id' ) ) { return wp_unique_id( $prefix ); } return $prefix . (string) ++$id_counter; } custom-css.php000064400000022115147336226330007367 0ustar00 $props ) { foreach ( $props as $key => $definitions ) { foreach ( $definitions as $property => $elements ) { /* * If we don't have an elements array or it is empty * then skip this iteration early; */ if ( ! is_array( $elements ) || empty( $elements ) ) { continue; } $val = twentytwenty_get_color_for_area( $context, $key ); if ( $val ) { twentytwenty_generate_css( implode( ',', $elements ), $property, $val ); } } } } if ( $cover && $cover !== $cover_default ) { twentytwenty_generate_css( '.overlay-header .header-inner', 'color', $cover ); twentytwenty_generate_css( '.cover-header .entry-header *', 'color', $cover ); } // Block Editor Styles. } elseif ( 'block-editor' === $type ) { // Colors. // Accent color. if ( $accent && $accent !== $accent_default ) { twentytwenty_generate_css( ':root .has-accent-color, .editor-styles-wrapper a, .editor-styles-wrapper .has-drop-cap:not(:focus)::first-letter, .editor-styles-wrapper .wp-block-button.is-style-outline .wp-block-button__link, .editor-styles-wrapper .wp-block-pullquote::before, .editor-styles-wrapper .wp-block-file .wp-block-file__textlink', 'color', $accent ); twentytwenty_generate_css( '.editor-styles-wrapper .wp-block-quote', 'border-color', $accent, '' ); twentytwenty_generate_css( '.has-accent-background-color, .editor-styles-wrapper .wp-block-button__link, .editor-styles-wrapper .wp-block-file__button', 'background-color', $accent ); } // Background color. if ( $background && $background !== $background_default ) { twentytwenty_generate_css( '.editor-styles-wrapper', 'background-color', '#' . $background ); twentytwenty_generate_css( '.has-background.has-primary-background-color:not(.has-text-color),.has-background.has-primary-background-color *:not(.has-text-color),.has-background.has-accent-background-color:not(.has-text-color),.has-background.has-accent-background-color *:not(.has-text-color)', 'color', '#' . $background ); } // Borders color. if ( $borders && $borders !== $borders_default ) { twentytwenty_generate_css( '.editor-styles-wrapper .wp-block-code, .editor-styles-wrapper pre, .editor-styles-wrapper .wp-block-preformatted pre, .editor-styles-wrapper .wp-block-verse pre, .editor-styles-wrapper fieldset, .editor-styles-wrapper .wp-block-table, .editor-styles-wrapper .wp-block-table *, .editor-styles-wrapper .wp-block-table.is-style-stripes, .editor-styles-wrapper .wp-block-latest-posts.is-grid li', 'border-color', $borders ); twentytwenty_generate_css( '.editor-styles-wrapper .wp-block-table caption, .editor-styles-wrapper .wp-block-table.is-style-stripes tbody tr:nth-child(odd)', 'background-color', $borders ); } // Text color. if ( $body && $body !== $body_default ) { twentytwenty_generate_css( 'html .editor-styles-wrapper, .editor-post-title__block .editor-post-title__input, .editor-post-title__block .editor-post-title__input:focus', 'color', $body ); } // Secondary color. if ( $secondary && $secondary !== $secondary_default ) { twentytwenty_generate_css( '.editor-styles-wrapper figcaption, .editor-styles-wrapper cite, .editor-styles-wrapper .wp-block-quote__citation, .editor-styles-wrapper .wp-block-quote cite, .editor-styles-wrapper .wp-block-quote footer, .editor-styles-wrapper .wp-block-pullquote__citation, .editor-styles-wrapper .wp-block-pullquote cite, .editor-styles-wrapper .wp-block-pullquote footer, .editor-styles-wrapper ul.wp-block-archives li, .editor-styles-wrapper ul.wp-block-categories li, .editor-styles-wrapper ul.wp-block-latest-posts li, .editor-styles-wrapper ul.wp-block-categories__list li, .editor-styles-wrapper .wp-block-latest-comments time, .editor-styles-wrapper .wp-block-latest-posts time', 'color', $secondary ); } // Header Footer Background Color. if ( $header_footer_background && $header_footer_background !== $header_footer_background_default ) { twentytwenty_generate_css( '.editor-styles-wrapper .wp-block-pullquote::before', 'background-color', $header_footer_background ); } } elseif ( 'classic-editor' === $type ) { // Colors. // Accent color. if ( $accent && $accent !== $accent_default ) { twentytwenty_generate_css( 'body#tinymce.wp-editor.content a, body#tinymce.wp-editor.content a:focus, body#tinymce.wp-editor.content a:hover', 'color', $accent ); twentytwenty_generate_css( 'body#tinymce.wp-editor.content blockquote, body#tinymce.wp-editor.content .wp-block-quote', 'border-color', $accent, '', ' !important' ); twentytwenty_generate_css( 'body#tinymce.wp-editor.content button, body#tinymce.wp-editor.content .faux-button, body#tinymce.wp-editor.content .wp-block-button__link, body#tinymce.wp-editor.content .wp-block-file__button, body#tinymce.wp-editor.content input[type=\'button\'], body#tinymce.wp-editor.content input[type=\'reset\'], body#tinymce.wp-editor.content input[type=\'submit\']', 'background-color', $accent ); } // Background color. if ( $background && $background !== $background_default ) { twentytwenty_generate_css( 'body#tinymce.wp-editor.content', 'background-color', '#' . $background ); } // Text color. if ( $body && $body !== $body_default ) { twentytwenty_generate_css( 'body#tinymce.wp-editor.content', 'color', $body ); } // Secondary color. if ( $secondary && $secondary !== $secondary_default ) { twentytwenty_generate_css( 'body#tinymce.wp-editor.content hr:not(.is-style-dots), body#tinymce.wp-editor.content cite, body#tinymce.wp-editor.content figcaption, body#tinymce.wp-editor.content .wp-caption-text, body#tinymce.wp-editor.content .wp-caption-dd, body#tinymce.wp-editor.content .gallery-caption', 'color', $secondary ); } // Borders color. if ( $borders && $borders !== $borders_default ) { twentytwenty_generate_css( 'body#tinymce.wp-editor.content pre, body#tinymce.wp-editor.content hr, body#tinymce.wp-editor.content fieldset,body#tinymce.wp-editor.content input, body#tinymce.wp-editor.content textarea', 'border-color', $borders ); } } // Return the results. return ob_get_clean(); } } block-patterns.php000064400000023305147336226330010221 0ustar00 esc_html__( 'Twenty Twenty', 'twentytwenty' ) ) ); } /** * Register Block Patterns. */ if ( function_exists( 'register_block_pattern' ) ) { // Call to Action. register_block_pattern( 'twentytwenty/call-to-action', array( 'title' => esc_html__( 'Call to Action', 'twentytwenty' ), 'categories' => array( 'twentytwenty' ), 'viewportWidth' => 1400, 'content' => implode( '', array( '', '
', '
', '

' . esc_html__( 'Support the Museum and Get Exclusive Offers', 'twentytwenty' ) . '

', '', '', '

' . esc_html__( 'Members get access to exclusive exhibits and sales. Our memberships cost $99.99 and are billed annually.', 'twentytwenty' ) . '

', '', '', '', '
', '
', '', ) ), ) ); // Double Call to Action. register_block_pattern( 'twentytwenty/double-call-to-action', array( 'title' => esc_html__( 'Double Call to Action', 'twentytwenty' ), 'categories' => array( 'twentytwenty' ), 'viewportWidth' => 1400, 'content' => implode( '', array( '', '
', '
', '
', '

' . esc_html__( 'The Museum', 'twentytwenty' ) . '

', '', '', '

' . esc_html__( 'Award-winning exhibitions featuring internationally-renowned artists.', 'twentytwenty' ) . '

', '', '', '', '
', '
', '', '', '
', '
', '

' . esc_html__( 'The Store', 'twentytwenty' ) . '

', '', '', '

' . esc_html__( 'An awe-inspiring collection of books, prints, and gifts from our exhibitions.', 'twentytwenty' ) . '

', '', '', '', '
', '
', '
', '', ) ), ) ); // Event Details. register_block_pattern( 'twentytwenty/event-details', array( 'title' => esc_html__( 'Event Details', 'twentytwenty' ), 'categories' => array( 'twentytwenty' ), 'viewportWidth' => 1400, 'content' => implode( '', array( '', '
', '
', '
', '

' . wp_kses_post( __( 'Dates
Aug 1 — Dec 1', 'twentytwenty' ) ) . '

', '
', '', '', '
', '

' . wp_kses_post( __( 'Location
Exhibit Hall B', 'twentytwenty' ) ) . '

', '
', '', '', '
', '

' . wp_kses_post( __( 'Price
Included', 'twentytwenty' ) ) . '

', '
', '
', '
', '', ) ), ) ); // Featured Content. register_block_pattern( 'twentytwenty/featured-content', array( 'title' => esc_html__( 'Featured Content', 'twentytwenty' ), 'categories' => array( 'twentytwenty' ), 'viewportWidth' => 1400, 'content' => implode( '', array( '', '
', '
', '
' . esc_attr__( 'Abstract Rectangles', 'twentytwenty' ) . '
', '', '', '

' . esc_html__( 'Works and Days', 'twentytwenty' ) . '

', '', '', '

' . esc_html__( 'August 1 — December 1', 'twentytwenty' ) . '

', '', '', '', '
', '', '', '
', '
' . esc_attr__( 'Abstract Rectangles', 'twentytwenty' ) . '
', '', '', '

' . esc_html__( 'The Life I Deserve', 'twentytwenty' ) . '

', '', '', '

' . esc_html__( 'August 1 — December 1', 'twentytwenty' ) . '

', '', '', '', '
', '
', '', ) ), ) ); // Introduction. register_block_pattern( 'twentytwenty/introduction', array( 'title' => esc_html__( 'Introduction', 'twentytwenty' ), 'categories' => array( 'twentytwenty' ), 'viewportWidth' => 1400, 'content' => implode( '', array( '', '

' . esc_html__( 'The Premier Destination for Modern Art in Sweden', 'twentytwenty' ) . '

', '', '', '

' . esc_html__( 'With seven floors of striking architecture, UMoMA shows exhibitions of international contemporary art, sometimes along with art historical retrospectives. Existential, political, and philosophical issues are intrinsic to our program. As visitor, you are invited to guided tours artist talks, lectures, film screenings, and other events with free admission.', 'twentytwenty' ) . '

', '', ) ), ) ); } starter-content.php000064400000027145147336226330010433 0ustar00 array( // Place one core-defined widgets in the first footer widget area. 'sidebar-1' => array( 'text_about', ), // Place one core-defined widgets in the second footer widget area. 'sidebar-2' => array( 'text_business_info', ), ), // Create the custom image attachments used as post thumbnails for pages. 'attachments' => array( 'image-opening' => array( 'post_title' => _x( 'The New UMoMA Opens its Doors', 'Theme starter content', 'twentytwenty' ), 'file' => 'assets/images/2020-landscape-1.png', // URL relative to the template directory. ), ), // Specify the core-defined pages to create and add custom thumbnails to some of them. 'posts' => array( 'front' => array( 'post_type' => 'page', 'post_title' => __( 'The New UMoMA Opens its Doors', 'twentytwenty' ), // Use the above featured image with the predefined about page. 'thumbnail' => '{{image-opening}}', 'post_content' => implode( '', array( '', '
', '

' . __( 'The premier destination for modern art in Northern Sweden. Open from 10 AM to 6 PM every day during the summer months.', 'twentytwenty' ) . '

', '
', '', '', '
', '
', '
', '', '
', '', '', '

' . __( 'Works and Days', 'twentytwenty' ) . '

', '', '', '

' . __( 'August 1 -- December 1', 'twentytwenty' ) . '

', '', '', '', '
', '', '', '
', '', '
', '', '', '

' . __( 'Theatre of Operations', 'twentytwenty' ) . '

', '', '', '

' . __( 'October 1 -- December 1', 'twentytwenty' ) . '

', '', '', '', '
', '
', '', '', '
', '
', '', '
', '', '', '

' . __( 'The Life I Deserve', 'twentytwenty' ) . '

', '', '', '

' . __( 'August 1 -- December 1', 'twentytwenty' ) . '

', '', '', '', '
', '', '', '
', '', '
', '', '', '

' . __( 'From Signac to Matisse', 'twentytwenty' ) . '

', '', '', '

' . __( 'October 1 -- December 1', 'twentytwenty' ) . '

', '', '', '', '
', '
', '
', '', '', '
', '', '', '
', '

' . __( '“Cyborgs, as the philosopher Donna Haraway established, are not reverent. They do not remember the cosmos.”', 'twentytwenty' ) . '

', '
', '', '', '

' . __( 'With seven floors of striking architecture, UMoMA shows exhibitions of international contemporary art, sometimes along with art historical retrospectives. Existential, political and philosophical issues are intrinsic to our programme. As visitor you are invited to guided tours artist talks, lectures, film screenings and other events with free admission', 'twentytwenty' ) . '

', '', '', '

' . __( 'The exhibitions are produced by UMoMA in collaboration with artists and museums around the world and they often attract international attention. UMoMA has received a Special Commendation from the European Museum of the Year, and was among the top candidates for the Swedish Museum of the Year Award as well as for the Council of Europe Museum Prize.', 'twentytwenty' ) . '

', '', '', '

', '', '', '
', '
', '

' . __( 'Become a Member and Get Exclusive Offers!', 'twentytwenty' ) . '

', '', '', '

' . __( 'Members get access to exclusive exhibits and sales. Our memberships cost $99.99 and are billed annually.', 'twentytwenty' ) . '

', '', '', '', '
', '
', '', '', '', '', ) ), ), 'about', 'contact', 'blog', ), // Default to a static front page and assign the front and posts pages. 'options' => array( 'show_on_front' => 'page', 'page_on_front' => '{{front}}', 'page_for_posts' => '{{blog}}', ), // Set up nav menus for each of the two areas registered in the theme. 'nav_menus' => array( // Assign a menu to the "primary" location. 'primary' => array( 'name' => __( 'Primary', 'twentytwenty' ), 'items' => array( 'link_home', // Note that the core "home" page is actually a link in case a static front page is not used. 'page_about', 'page_blog', 'page_contact', ), ), // This replicates primary just to demonstrate the expanded menu. 'expanded' => array( 'name' => __( 'Primary', 'twentytwenty' ), 'items' => array( 'link_home', // Note that the core "home" page is actually a link in case a static front page is not used. 'page_about', 'page_blog', 'page_contact', ), ), // Assign a menu to the "social" location. 'social' => array( 'name' => __( 'Social Links Menu', 'twentytwenty' ), 'items' => array( 'link_yelp', 'link_facebook', 'link_twitter', 'link_instagram', 'link_email', ), ), ), ); /** * Filters Twenty Twenty array of starter content. * * @since Twenty Twenty 1.0 * * @param array $starter_content Array of starter content. */ return apply_filters( 'twentytwenty_starter_content', $starter_content ); } svg-icons.php000064400000003611147336226330007177 0ustar00 array( 'class' => true, 'xmlns' => true, 'width' => true, 'height' => true, 'viewbox' => true, 'aria-hidden' => true, 'role' => true, 'focusable' => true, ), 'path' => array( 'fill' => true, 'fill-rule' => true, 'd' => true, 'transform' => true, ), 'polygon' => array( 'fill' => true, 'fill-rule' => true, 'points' => true, 'transform' => true, 'focusable' => true, ), ) ); if ( ! $svg ) { return false; } return $svg; } }