You appear to be a bot. Output may be restricted
Description
Implement the [bw_field] shortcode
Usage
$string = bw_field( $atts, $content, $tag );
Parameters
- $atts
- ( array ) optional – shortcode parameters
- $content
- ( string ) optional – not expected
- $tag
- ( string ) optional – shortcode tag when invoked for shortcode expansion
Returns
string formatted metadataTO DO
resolve quandary – when the field names are specified are we allowed to override the #theme setting? ie. Ignore #theme => false ? Answer: For "taxonomy" type fields the #theme setting may not be defined. BUT these fields have to be specified separately anyway.Source
File name: oik-fields/shortcodes/oik-field.phpLines:
1 to 45 of 45
function bw_field( $atts=null, $content=null, $tag=null ) { //bw_trace2( ); $post_id = bw_array_get_dcb( $atts, "id", null, "bw_current_post_id" ); //bw_backtrace(); //p( "Fields for $post_id "); $name = bw_array_get_from( $atts, "name,0", NULL ); if ( $name ) { unset( $atts['name'] ); } else { $name = bw_array_get( $atts, "fields", null ); } if ( null == $name ) { $names = bw_get_field_names( $post_id ); } else { $name = wp_strip_all_tags( $name, TRUE ); $names = explode( ",", $name ); } if ( count( $names ) ) { foreach ( $names as $name ) { if ( bw_get_field_data_arg( $name, "#theme", true ) ) { /** * We have to cater for "taxonomy" fields as well */ $type = bw_query_field_type( $name ); if ( $type === "taxonomy" ) { // bw_custom_column_taxonomy( $name, $post_id ); bw_format_taxonomy( $name, $post_id ); } else { //bw_custom_column_post_meta( $column, $post_id ); $post_meta = get_post_meta( $post_id, $name, FALSE ); //bw_trace2( $post_meta ); $customfields = array( $name => $post_meta ); //bw_format_meta( $customfields ); bw_format_field( $customfields ); } } else { bw_theme_object_property( $post_id, $name, $atts ); } } } else { bw_trace2( "Invalid use of $tag. No field name to process for $post_id" ); } return( bw_ret() ); }View on GitHub