, CodeTRAX.org * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * The NOTICE file contains additional licensing and copyright information. */ /** * Module containing template tags. */ // Prevent direct access to this file. if ( ! defined( 'ABSPATH' ) ) { header( 'HTTP/1.0 403 Forbidden' ); echo 'This file should not be accessed directly!'; exit; // Exit if accessed directly } function amt_content_description() { $options = get_option("add_meta_tags_opts"); $post = amt_get_queried_object(); if ( ! is_null( $post ) ) { echo amt_get_content_description( $post ); } } function amt_content_keywords() { $options = get_option("add_meta_tags_opts"); $post = amt_get_queried_object(); if ( ! is_null( $post ) ) { echo amt_get_content_keywords( $post ); } } function amt_metadata_head() { // Prints full metadata for head area. amt_print_head_block(); } function amt_metadata_footer() { // Prints full metadata for footer area. amt_print_footer_block(); } function amt_metadata_review() { // Prints full metadata in review mode. No user level checks here. echo amt_get_metadata_inspect(); } function amt_breadcrumbs( $user_options ) { echo amt_get_breadcrumbs( $user_options ); } function amt_local_author_profile_url( $author_id=null, $display=true ) { $options = get_option("add_meta_tags_opts"); if ( empty($options) ) { return ''; } if ( is_null($author_id) ) { $post = amt_get_queried_object(); if ( is_null($post) || $post->ID == 0 ) { return ''; } $author_id = get_the_author_meta( 'ID', $post->post_author ); } if ( $display ) { echo esc_url( amt_get_local_author_profile_url( $author_id, $options ) ); } else { return esc_url( amt_get_local_author_profile_url( $author_id, $options ) ); } } // // User image template tags // // Returns array with image info about the custom user image set in the user profile (AMT section) // function amt_get_user_image_info( $size='thumbnail', $user_id=null ) { // Initial checks if ( empty($user_id) ) { if ( is_author() ) { // The post object is the author object $post = amt_get_queried_object(); if ( ! isset($post->ID) ) { return false; } $user_id = $post->ID; } elseif ( is_singular() ) { // Get the user ID of the author of the current post. $post = amt_get_queried_object(); if ( ! isset($post->post_author) ) { return false; } $user_id = $post->post_author; } else { return false; } } elseif ( ! is_numeric($user_id) ) { return false; } // Get data from Custom Field $custom_image_url_value = amt_get_user_meta_image_url( $user_id ); // Get image data $image_data = amt_get_image_data( amt_esc_id_or_url_notation( stripslashes( $custom_image_url_value ) ) ); // Construct image info array $image_info = array( 'url' => null, 'width' => null, 'height' => null, ); if ( is_numeric($image_data['id']) ) { $main_size_meta = wp_get_attachment_image_src( $image_data['id'], $size ); if ( empty($main_size_meta) ) { return false; } $image_info['url'] = $main_size_meta[0]; $image_info['width'] = $main_size_meta[1]; $image_info['height'] = $main_size_meta[2]; } elseif ( ! is_null($image_data['url']) ) { $image_info['url'] = $main_size_meta[0]; $image_info['width'] = $main_size_meta[1]; $image_info['height'] = $main_size_meta[2]; } else { return false; } return $image_info; } // Prints img of user image function amt_print_user_image( $size='thumbnail', $user_id=null, $force_width=null, $force_height=null ) { $image_info = amt_get_user_image_info( $size=$size, $user_id=$user_id ); if ( empty($image_info) ) { echo ''; } else { if ( is_numeric($force_width) ) { $image_info['width'] = sprintf('%d', $force_width); } if ( is_numeric($force_height) ) { $image_info['height'] = sprintf('%d', $force_height); } echo ''; } } // Override get_avatar_url with the URL of our user image // // Enable with: // // add_filter('amt_set_user_image_as_avatar_url', '__return_true'); // function amt_set_user_image_as_avatar( $default_url ) { if ( apply_filters('amt_set_user_image_as_avatar', false) ) { $image_info = amt_get_user_image_info( $size='thumbnail' ); if ( ! empty($image_info) ) { return $image_info['url']; } } return $default_url; } add_action('get_avatar_url', 'amt_set_user_image_as_avatar'); // // Term image template tags // // Returns array with image info about the custom term image set in the term edit screen (AMT section) // function amt_get_term_image_info( $size='thumbnail', $term_id=null ) { // Initial checks if ( empty($term_id) ) { if ( is_category() || is_tag() || is_tax() ) { // The post object is the term object $post = amt_get_queried_object(); if ( ! isset($post->term_id) ) { return false; } $term_id = $post->term_id; } else { return false; } } elseif ( ! is_numeric($term_id) ) { return false; } // Get data from Custom Field $custom_image_url_value = amt_get_term_meta_image_url( $term_id ); // Get image data $image_data = amt_get_image_data( amt_esc_id_or_url_notation( stripslashes( $custom_image_url_value ) ) ); // Construct image info array $image_info = array( 'url' => null, 'width' => null, 'height' => null, ); if ( is_numeric($image_data['id']) ) { $main_size_meta = wp_get_attachment_image_src( $image_data['id'], $size ); if ( empty($main_size_meta) ) { return false; } $image_info['url'] = $main_size_meta[0]; $image_info['width'] = $main_size_meta[1]; $image_info['height'] = $main_size_meta[2]; } elseif ( ! is_null($image_data['url']) ) { $image_info['url'] = $main_size_meta[0]; $image_info['width'] = $main_size_meta[1]; $image_info['height'] = $main_size_meta[2]; } else { return false; } return $image_info; } // Prints img of term image function amt_print_term_image( $size='thumbnail', $term_id=null, $force_width=null, $force_height=null ) { $image_info = amt_get_term_image_info( $size=$size, $term_id=$term_id ); if ( empty($image_info) ) { echo ''; } else { if ( is_numeric($force_width) ) { $image_info['width'] = sprintf('%d', $force_width); } if ( is_numeric($force_height) ) { $image_info['height'] = sprintf('%d', $force_height); } echo ''; } }