File "options.php"
Full Path: /home/fineflavourcocoa/public_html/wp-content/themes/grd/inc/functions/options.php
File size: 1.84 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Get post meta
*
* @since 1.0
*
* @param string $key
* @param array $args
* @param int $post_id
*
* @return mixed
*/
function grd_get_meta( $key, $args = array(), $post_id = null ) {
if ( function_exists( 'rwmb_meta' ) ) {
return rwmb_meta( $key, $args, $post_id );
}
/**
* Base on Meta Box plugin function
*/
$post_id = empty($post_id) ? get_the_ID() : $post_id;
$args = wp_parse_args( $args, array('type' => 'text',) );
// Set 'multiple' for fields based on 'type'
if ( !isset($args['multiple']) ) {
$args['multiple'] = in_array( $args['type'], array('checkbox_list', 'file', 'file_advanced', 'image', 'image_advanced', 'plupload_image', 'thickbox_image') );
}
$meta = get_post_meta( $post_id, $key, !$args['multiple'] );
// Get uploaded files info
if ( in_array( $args['type'], array('file', 'file_advanced') ) ) {
if ( is_array( $meta ) && !empty($meta) ) {
$files = array();
foreach ( $meta as $id ) {
$path = get_attached_file( $id );
$files[$id] = array('ID' => $id, 'name' => basename( $path ), 'path' => $path, 'url' => wp_get_attachment_url( $id ), 'title' => get_the_title( $id ),);
}
$meta = $files;
}
} // Get uploaded images info
elseif ( 'taxonomy_advanced' == $args['type'] ) {
if ( !empty($args['taxonomy']) ) {
$term_ids = array_map( 'intval', array_filter( explode( ',', $meta . ',' ) ) );
// Allow to pass more arguments to "get_terms"
$func_args = wp_parse_args( array('include' => $term_ids, 'hide_empty' => false,), $args );
unset($func_args['type'], $func_args['taxonomy'], $func_args['multiple']);
$meta = get_terms( $args['taxonomy'], $func_args );
} else {
$meta = array();
}
} // Get post terms
elseif ( 'taxonomy' == $args['type'] ) {
$meta = empty($args['taxonomy']) ? array() : wp_get_post_terms( $post_id, $args['taxonomy'] );
}
return $meta;
}