Changeset 1417575
- Timestamp:
- 05/16/2016 12:44:14 AM (10 years ago)
- Location:
- dynamically-dynamic-sidebar
- Files:
-
- 12 added
- 3 edited
-
tags/0.6 (added)
-
tags/0.6/dynamically-dynamic-sidebar.php (added)
-
tags/0.6/inc (added)
-
tags/0.6/inc/admin-main.php (added)
-
tags/0.6/inc/admin-post.php (added)
-
tags/0.6/inc/admin-term.php (added)
-
tags/0.6/inc/functions.php (added)
-
tags/0.6/inc/main.php (added)
-
tags/0.6/readme-ja.md (added)
-
tags/0.6/readme.md (added)
-
tags/0.6/readme.txt (added)
-
trunk/dynamically-dynamic-sidebar.php (modified) (1 diff)
-
trunk/inc/functions.php (modified) (7 diffs)
-
trunk/inc/main.php (added)
-
trunk/readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
dynamically-dynamic-sidebar/trunk/dynamically-dynamic-sidebar.php
r1417568 r1417575 2 2 /* 3 3 Plugin Name: Dynamically Dynamic Sidebar 4 Version: 0. 54 Version: 0.6 5 5 Description: This plugin enables you to create unlimited widget area and use them for posts, pages, categories, tags and so on. 6 6 Author: Shinichi Nishikawa -
dynamically-dynamic-sidebar/trunk/inc/functions.php
r1287029 r1417575 18 18 } 19 19 20 // return: widget_id, widget_name and term object detemining the widget id. 21 // Returns the FIRST FOUND widget area array. 20 /** 21 * Returns an array of area FIRST FOUND. 22 * If no area is assigned, returns false. 23 * 24 * @param int $post post id 25 * @return array $area_term_arr an array of widget_id, widget_name 26 and term object detemining the widget id. 27 */ 22 28 function dds_get_widget_of_post_by_term( $post ) { 23 29 24 30 // マスター 25 $terms = array();26 $ancestors = array();27 $ return= array();31 $terms = array(); 32 $ancestors = array(); 33 $area_term_arr = array(); 28 34 29 35 // 登録されているタクソノミ … … 33 39 foreach ( $taxonomies as $taxonomy ) { 34 40 35 $te mp= get_the_terms( $post, $taxonomy ); // タームを取得41 $term_obj = get_the_terms( $post, $taxonomy ); // タームを取得 36 42 37 43 // タームに属していればマスターに入れる 38 if ( is_array( $te mp) ) {39 $terms = array_merge( $terms, $te mp);44 if ( is_array( $term_obj ) ) { 45 $terms = array_merge( $terms, $term_obj ); 40 46 } 41 47 … … 43 49 44 50 // 直接のタームをチェック 45 $ return= dds_check_term_arrays_allocated_area( $terms );51 $area_term_arr = dds_check_term_arrays_allocated_area( $terms ); 46 52 47 if ( $ return) {48 return $ return;53 if ( $area_term_arr ) { 54 return $area_term_arr; 49 55 } 50 56 … … 52 58 foreach ( $terms as $t ) { 53 59 54 $ temp= get_ancestors( $t->term_id, $t->taxonomy );60 $ancestor_term_id_arr = get_ancestors( $t->term_id, $t->taxonomy ); 55 61 56 if ( is_array( $temp ) ) { 57 $ancestors = array_merge( $ancestors, $temp ); 62 if ( is_array( $ancestor_term_id_arr ) ) { 63 foreach ( $ancestor_term_id_arr as $a_id ) { 64 $term_obj = get_term_by( 'id', $a_id, $t->taxonomy ); 65 $ancestors[] = $term_obj; 66 } 58 67 } 59 68 60 69 } 61 70 62 $ return= dds_check_term_arrays_allocated_area( $ancestors );71 $area_term_arr = dds_check_term_arrays_allocated_area( $ancestors ); 63 72 64 if ( $ return) {65 return $ return;73 if ( $area_term_arr ) { 74 return $area_term_arr; 66 75 } else { 67 76 return false; … … 70 79 } 71 80 72 // タームのオブジェクト/あるいはIDの配列を受けて、最初に返ってきたエリアを返す関数 81 /** 82 * Given an array of term objects, 83 * returns FIRST FOUND widget area info. 84 * 85 * 86 * 87 * @param int|object $terms term id or term object 88 * @return array $area_term_arr $area_term_arr an array of widget_id, widget_name 89 and term object detemining the widget id. 90 */ 73 91 function dds_check_term_arrays_allocated_area( $terms ) { 74 92 … … 93 111 $allocatable_widgets = get_option( 'dds_sidebars' ); 94 112 95 $ return["area-id"] = $area_id;96 $ return["area-name"] = $allocatable_widgets[$area_id];97 $ return["term"] = $t;113 $area_term_arr["area-id"] = $area_id; 114 $area_term_arr["area-name"] = $allocatable_widgets[$area_id]; 115 $area_term_arr["term"] = $t; 98 116 99 117 break; … … 103 121 } 104 122 105 if ( isset( $ return ) && is_array( $return) ) {106 return $ return;123 if ( isset( $area_term_arr ) && is_array( $area_term_arr ) ) { 124 return $area_term_arr; 107 125 } else { 108 126 return false; -
dynamically-dynamic-sidebar/trunk/readme.txt
r1417568 r1417575 4 4 Requires at least: 4.4 5 5 Tested up to: 4.5.2 6 Stable tag: 0. 56 Stable tag: 0.6 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html
Note: See TracChangeset
for help on using the changeset viewer.