* @copyright Copyright (c) 2018, Pixelative
*/
// Add Ads into AMP WP Ads Manager panel if that was available
if (is_amp_wp_ads_manager_plugin_active()) {
amp_wp_template_part('ads');
}
if (!defined('ABSPATH')) {
exit;
} // Exit if accessed directly.
add_image_size('amp-wp-small', 100, 100, array('center', 'center')); // Main Post Image In Small Width
add_image_size('amp-wp-large', 738, 430, array('center', 'center')); // Main Post Image In Full Width
add_image_size('amp-wp-normal', 230, 160, array('center', 'center')); // Main Post Image In Normal Width
register_nav_menus(array('amp-wp-sidebar-nav' => __('AMP Sidebar', 'amp-wp')));
register_nav_menus(array('amp-wp-footer' => __('AMP Footer Menu', 'amp-wp')));
// Hook to enqueue style
add_action('amp_wp_template_head', 'amp_wp_enqueue_styles', 0);
if (!function_exists('amp_wp_language_attributes')) :
/**
* Get the Language Attributes for the HTML Tag.
*
* @version 1.0.0
* @since 1.0.0
*/
function amp_wp_language_attributes() {
$attributes = array();
if (function_exists('is_rtl') && is_rtl()) {
$attributes[] = 'dir="rtl"';
}
if ($lang = get_bloginfo('language')) {
$attributes[] = "lang=\"$lang\"";
}
$output = implode(' ', $attributes);
echo $output;
}
endif;
if (!function_exists('amp_wp_enqueue_styles')) :
/**
* Enqueue Static File for AMP Version
*
* @version 1.0.0
* @since 1.0.0
*/
function amp_wp_enqueue_styles() {
amp_wp_enqueue_style('amp-wp-font-awesome', 'https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
amp_wp_enqueue_style('amp-wp-google-fonts', 'https://fonts.googleapis.com/css?family=Karla|Noto+Sans:700|Overpass+Mono');
amp_wp_enqueue_block_style('normalize', '../css/normalize', false); // Normalize without RTL
amp_wp_enqueue_block_style('style', '../css/style');
}
endif;
if( !function_exists('amp_wp_enqueue_static') ) :
/**
* Enqueue Static File for AMP Version
*
* @version 1.0.0
* @since 1.0.0
*/
function amp_wp_enqueue_static() {
$amp_wp_layout_settings = get_option('amp_wp_layout_settings');
$is_show_sidebar = ( isset( $amp_wp_layout_settings['is_show_sidebar'] ) && !empty( $amp_wp_layout_settings['is_show_sidebar'] ) ) ? $amp_wp_layout_settings['is_show_sidebar'] : '';
if( "1" == $is_show_sidebar ) {
amp_wp_enqueue_script('amp-sidebar', 'https://cdn.ampproject.org/v0/amp-sidebar-0.1.js');
}
}
endif;
// Enqueue Static File Hook
add_action('amp_wp_template_enqueue_scripts', 'amp_wp_enqueue_static');
if( !function_exists('amp_wp_custom_styles') ) :
/**
* Prints Custom Codes of AMP Theme After All Styles
*
* @version 1.0.0
* @since 1.0.0
*/
function amp_wp_custom_styles() {
$theme_color = amp_wp_get_theme_mod('amp-wp-color-theme', false);
$text_color = amp_wp_get_theme_mod('amp-wp-color-text', false);
ob_start();
?>
.pagination .nav-links .page-numbers.prev,
.pagination .nav-links .page-numbers.next,
.listing-item a.post-read-more,
.post-terms.cats .term-type,
.post-terms a:hover,
.search-form .search-submit,
.amp-wp-main-link a,
.post-categories li a,
.amp-btn,.amp-btn:active,.amp-btn:focus,.amp-btn:hover {
background: ;
}
.amp-btn,.amp-btn:active,.amp-btn:focus,.amp-btn:hover,
.post-terms.tags a:hover,.post-terms.tags a:focus,.post-terms.tags a:active {
border-color: ;
}
.entry-content ul.amp-wp-shortcode-list li:before,
a {
color: ;
}
body.body {
background:;
color: ;
}
.amp-wp-wrapper {
background:;
}
.amp-wp-footer-nav {
background:;
}
.amp-wp-copyright {
background:;
}
'unknown',
'content' => '',
);
}
// Custom External Videos
preg_match('#^(http|https)://.+\.(mp4|m4v|webm|ogv|wmv|flv)$#i', $content, $matches);
if (!empty($matches[0])) {
return array(
'type' => 'external-video',
'content' => do_shortcode('[video src="' . $matches[0] . '"]'),
);
}
// Custom External Audio
preg_match('#^(http|https)://.+\.(mp3|m4a|ogg|wav|wma)$#i', $content, $matches);
if (!empty($matches[0])) {
return array(
'type' => 'external-audio',
'content' => do_shortcode('[audio src="' . $matches[0] . '"]'),
);
}
// Default Embeds and Other Registered
global $wp_embed;
if (!is_object($wp_embed)) {
return array(
'type' => 'unknown',
'content' => $content
);
}
$embed = $wp_embed->autoembed($content);
if ($embed !== $content) {
return array(
'type' => 'embed',
'content' => $embed
);
}
// No Embed Detected!
return array(
'type' => 'unknown',
'content' => $content,
);
}
endif;
if( !function_exists( 'amp_wp_set_show_on_front' ) ) :
/**
* Setup show on front option value
*
* @since 1.0.0
* @return bool|string
*/
function amp_wp_set_show_on_front() {
return amp_wp_get_theme_mod( 'amp-wp-show-on-front' );
}
endif;
add_filter( 'amp_wp_template_show_on_front', 'amp_wp_set_show_on_front' );
if( !function_exists('amp_wp_set_page_on_front') ) :
/**
* Setup Page on Front Option Value
*
* @version 1.0.0
* @since 1.0.0
*
* @return bool|string
*/
function amp_wp_set_page_on_front() {
return amp_wp_get_theme_mod('amp-wp-page-on-front');
}
endif;
add_filter('amp_wp_template_page_on_front', 'amp_wp_set_page_on_front');
if( is_amp_wp() ) :
$exclude_urls = '';
if( get_option('amp_wp_general_settings') ) {
$amp_wp_general_settings = get_option('amp_wp_general_settings');
if( isset( $amp_wp_general_settings['exclude_urls'] ) && !empty( $amp_wp_general_settings['exclude_urls'] ) ) {
$exclude_urls = $amp_wp_general_settings['exclude_urls'];
}
}
if( isset( $exclude_urls ) && !empty( $exclude_urls ) ) :
Amp_WP_Content_Sanitizer::set_non_amp_url( explode( "\n", $exclude_urls ) );
endif;
endif;
if (!function_exists('amp_wp_custom_code_head')) :
/**
* Prints Custom Codes Inside Head Tag
*
* @hooked amp_wp_template_head
*/
function amp_wp_custom_code_head() {
echo amp_wp_get_option('amp-wp-code-head', false);
}
endif;
add_action('amp_wp_template_head', 'amp_wp_custom_code_head');
if (!function_exists('amp_wp_custom_code_body_start')) :
/**
* Prints Custom Codes Right After Body Tag Start
*
* @hooked amp_wp_template_body_start
*/
function amp_wp_custom_code_body_start() {
echo amp_wp_get_option('amp-wp-code-body-start', false);
}
endif;
add_action('amp_wp_template_body_start', 'amp_wp_custom_code_body_start');
if (!function_exists('amp_wp_custom_code_body_stop')) :
/**
* Prints custom codes before body tag close
*
* @hooked amp_wp_template_footer
*/
function amp_wp_custom_code_body_stop() {
echo amp_wp_get_option('amp-wp-code-body-stop', false);
}
endif;
add_action('amp_wp_template_footer', 'amp_wp_custom_code_body_stop');
if (!function_exists('amp_wp_auto_redirect_mobiles')) :
/**
* Trigger Auto Redirect Option
*
* @version 1.0.0
* @since 1.0.0
*
* @return bool true If Active
*/
function amp_wp_auto_redirect_mobiles() {
$mobile_auto_redirect = '';
if( get_option('amp_wp_general_settings') ) {
$amp_wp_general_settings = get_option('amp_wp_general_settings');
if( isset( $amp_wp_general_settings['mobile_auto_redirect'] ) && !empty( $amp_wp_general_settings['mobile_auto_redirect'] ) ) {
$mobile_auto_redirect = intval( $amp_wp_general_settings['mobile_auto_redirect'] );
}
}
return $mobile_auto_redirect;
}
endif;
add_filter('amp_wp_template_auto_redirect', 'amp_wp_auto_redirect_mobiles');
if (!function_exists('amp_wp_list_post_types')) {
/**
* List available and public post types.
*
* @since 1.0.0
* @return array
*/
function amp_wp_list_post_types() {
$results = array();
foreach ( get_post_types(array('public' => true, 'publicly_queryable' => true)) as $post_type => $_ ) {
if( !$post_type_object = get_post_type_object($post_type)) {
continue;
}
$results[$post_type] = $post_type_object->label;
}
return $results;
}
}
if (!function_exists('amp_wp_list_taxonomies')) {
/**
* List Available and Public Taxonomies.
*
* @since 1.0.0
* @return array
*/
function amp_wp_list_taxonomies() {
$results = array();
$taxonomies = get_taxonomies(array('public' => true,));
if ($taxonomies) {
unset($taxonomies['post_format']);
foreach ($taxonomies as $id => $_) {
if ($object = get_taxonomy($id)) {
$results[$id] = $object->label;
}
}
}
return $results;
}
}
if (!function_exists('amp_wp_filter_config')) {
/**
* @param array $filters
*
* @since 1.2.0
* @return array
*/
function amp_wp_filter_config($filters) {
$amp_on_home = '';
$amp_on_search = '';
$amp_on_post_types = array();
$amp_on_taxonomies = array();
if( get_option('amp_wp_general_settings') ) {
$amp_wp_general_settings = get_option('amp_wp_general_settings');
if( isset( $amp_wp_general_settings['amp_on_home'] ) && !empty( $amp_wp_general_settings['amp_on_home'] ) ) {
$amp_on_home = $amp_wp_general_settings['amp_on_home'];
}
if( isset( $amp_wp_general_settings['amp_on_search'] ) && !empty( $amp_wp_general_settings['amp_on_search'] ) ) {
$amp_on_search = $amp_wp_general_settings['amp_on_search'];
}
if( isset( $amp_wp_general_settings['amp_on_post_types'] ) && !empty( $amp_wp_general_settings['amp_on_post_types'] ) ) {
$amp_on_post_types = (array) $amp_wp_general_settings['amp_on_post_types'];
}
if( isset( $amp_wp_general_settings['amp_on_taxonomies'] ) && !empty( $amp_wp_general_settings['amp_on_taxonomies'] ) ) {
$amp_on_taxonomies = (array) $amp_wp_general_settings['amp_on_taxonomies'];
}
}
$filters['disabled_homepage'] = !$amp_on_home;
$filters['disabled_search'] = !$amp_on_search;
$filters['disabled_post_types'] = $amp_on_post_types;
$filters['disabled_taxonomies'] = $amp_on_taxonomies;
return $filters;
}
}
add_filter('amp_wp_filter_config_list', 'amp_wp_filter_config');
if ( ! function_exists( 'amp_wp_set_url_format' ) ) {
/**
* Set default AMP URL structure.
*
* @hooked amp_wp_url_format_filter
*
* @param string $default
* @since 1.0.4
*
* @return string
*/
function amp_wp_set_url_format( $default ) {
$amp_wp_general_settings = get_option('amp_wp_general_settings');
return ( isset( $amp_wp_general_settings['url_structure'] ) && !empty( $amp_wp_general_settings['url_structure'] ) ) ? $amp_wp_general_settings['url_structure'] : 'start-point';
}
}
add_filter( 'amp_wp_url_format_filter', 'amp_wp_set_url_format' );
if( !function_exists( 'amp_wp_analytics_ga_callback' ) ) :
/**
* Prints Google Analytic Code
*
* @hooked amp_wp_analytics_ga
* @since 1.0.0
*/
function amp_wp_analytics_ga_callback() {
$ga_switch = '';
$ga_code = '';
if( get_option('amp_wp_ga') ) {
$amp_wp_ga = get_option('amp_wp_ga');
$ga_switch = $amp_wp_ga['ga_switch'];
$ga_code = $amp_wp_ga['ga'];
}
if( $ga_switch && $ga_code ) :
amp_wp_enqueue_script('amp-analytics', 'https://cdn.ampproject.org/v0/amp-analytics-0.1.js');
?>
99999 )
$afs_server = 'www1';
if( $afs_website_id > 199999)
$afs_server = 'www2';
if( $afs_website_id > 299999)
$afs_server = 'www3';
if( $afs_website_id > 399999)
$afs_server = 'www4';
if( $afs_website_id > 499999)
$afs_server = 'www5';
if( $afs_website_id > 599999)
$afs_server = 'www6';
if( $afs_website_id > 699999)
$afs_server = 'www7';
if( $afs_website_id > 799999)
$afs_server = 'www8';
if( $afs_website_id > 899999)
$afs_server = 'www9';
if( $afs_website_id > 999999)
$afs_server = 'www10';
}
if( $afs_switch && $afs_website_id ) :
amp_wp_enqueue_script('amp-analytics', 'https://cdn.ampproject.org/v0/amp-analytics-0.1.js');
?>
is_main_query() ) {
return $content;
}
$blocks_list = array(
'button',
'columns',
'cover',
'file',
'gallery',
'image',
'latest-comments',
'list',
'quote',
'separator',
'table',
'verse',
);
if( preg_match_all(
'/).)*+)?}\s+)?(?\/)?-->/s',
$content,
$matches
) ) {
foreach( array_unique( $matches[2] ) as $block ) {
if( in_array( $block, $blocks_list ) ) {
amp_wp_enqueue_block_style( 'block-' . $block, '../css/block/' . $block, false );
}
}
}
return $content;
}
}