' . Ai1ec_I18n::__( 'Calendar page' ) . '' . '
' . $this->_get_pages_selector() . $this->_get_page_view_link() . '
'; return parent::render( $output ); } /** * Generate link to open selected page in new window. * * @return string HTML snippet. */ protected function _get_page_view_link() { if ( empty( $this->_args['value'] ) ) { return ''; } $post = get_post( $this->_args['value'] ); if ( empty( $post->ID ) ) { return ''; } $args = array( 'view' => Ai1ec_I18n::__( 'View' ), 'link' => get_permalink( $post->ID ), 'title' => apply_filters( 'the_title', $post->post_title, $post->ID ), ); return $this->_registry->get( 'theme.loader' ) ->get_file( 'setting/calendar-page-selector.twig', $args, true ) ->get_content(); } /** * Generate dropdown selector to choose page. * * @return string HTML snippet. */ protected function _get_pages_selector() { $html = ''; return $html; } /** * Make a map of page IDs and titles for selection snippet. * * @return array Map of page keys and titles. */ protected function _get_pages() { $pages = get_pages(); if ( ! is_array( $pages ) ) { $pages = array(); } $output = array( '__auto_page:Calendar' => Ai1ec_I18n::__( '- Auto-Create New Page -' ), ); foreach ( $pages as $key => $value ) { $output[$value->ID] = $value->post_title; } return $output; } }