Changeset 1524925
- Timestamp:
- 10/30/2016 07:32:24 PM (9 years ago)
- Location:
- language-field
- Files:
-
- 5 added
- 3 edited
-
tags/0.73 (added)
-
tags/0.73/language-field.php (added)
-
tags/0.73/lf_admin_page.php (added)
-
tags/0.73/lf_core_functions.php (added)
-
tags/0.73/readme.txt (added)
-
trunk/language-field.php (modified) (2 diffs)
-
trunk/lf_core_functions.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
language-field/trunk/language-field.php
r1197382 r1524925 5 5 Description: This is a Plug-in to manually change languages for specific Articles, to solve issues on multilingual blogs 6 6 Author: @wpplugindevcom 7 Version: 0. 757 Version: 0.8 8 8 Author URI: http://www.wp-plugin-dev.com 9 9 Text Domain: language-field … … 32 32 include ('lf_admin_page.php'); 33 33 34 function create_lf_option(){ 35 add_option( "language_fields", array(),yes); 36 37 34 function create_lf_option() 35 { 36 add_option( "language_fields", array(),yes); 38 37 } 39 38 -
language-field/trunk/lf_core_functions.php
r1302533 r1524925 1 1 <?php 2 2 add_action( 'add_meta_boxes', 'lf' ); 3 function lf() { 4 if(current_user_can( 'edit_posts' ) ){ 5 add_meta_box( 'lf_meta', 'Language', 'lf_language_code_meta', 'post', 'side', 'high' ); 6 }else{} 7 //add_meta_box( 'lf_meta', 'Language CODE', 'lf_language_code_meta', 'page', 'side', 'high' ); 8 } 3 function lf() 4 { 5 if(current_user_can( 'edit_posts' ) ) 6 { 7 add_meta_box( 'lf_meta', 'Language', 'lf_language_code_meta', 'post', 'side', 'high' ); 8 } 9 } 9 10 10 function lf_language_code_meta( $post ) { 11 $lf_language_code = get_post_meta( $post->ID, '_lf_language_code', true); 12 // you can also make lf_language_code a input type text to use multiple languages 11 function lf_language_code_meta( $post ) 12 { 13 $lf_language_code = get_post_meta( $post->ID, '_lf_language_code', true); 14 // you can also make lf_language_code a input type text to use multiple languages 15 $language_fields=get_option("language_fields"); 16 $arr=array_reverse($language_fields); 13 17 14 $language_fields=get_option("language_fields"); 15 $arr=array_reverse($language_fields); 16 17 18 foreach ($arr as $key => $value) { 19 if(strstr($key,"language_name")){ 18 foreach ($arr as $key => $value) 19 { 20 if(strstr($key, "language_name")) 21 { 20 22 echo "This Article is in ".$value; 21 } 22 if(strstr($key,"language_code")){ 23 ?> <input type="radio" name="lf_language_code" value="<?php echo $value;?>"<?php if (esc_attr( $lf_language_code )==$value){ echo "checked=\"checked\"";} ?> /><br /> 23 } 24 if(strstr($key, "language_code")) 25 { 26 ?> <input type="radio" name="lf_language_code" value="<?php echo $value; 27 ?>"<?php if (esc_attr( $lf_language_code )==$value) 28 { echo "checked=\"checked\""; 29 } ?> /><br /> 24 30 <?php 25 } 26 27 28 29 } 30 31 32 } 33 34 add_action( 'save_post', 'lf_save_project_meta' ); 35 function lf_save_project_meta( $post_ID ) { 36 global $post; 37 if( $post->post_type == "post" ) { 38 if (isset( $_POST ) ) { 39 update_post_meta( $post_ID, '_lf_language_code', strip_tags( $_POST['lf_language_code'] ) ); 40 } 41 } 42 } 43 44 function get_language_code_of_this() 45 { 46 47 global $wp_query; 48 $the_Post_ID = $wp_query->post->ID; 49 $lf_language_code = get_post_meta( $thePostID, '_lf_language_code', true); 50 if ($lf_language_code!='' && is_single() || is_home()) { 51 return "dir=\"ltr\" lang=\"".$lf_language_code."\""; 52 } 53 else 54 { 55 return "dir=\"ltr\" lang=\"".get_bloginfo('language')."\""; 56 } 57 31 } 32 } 58 33 59 34 } 60 35 61 62 if(!is_admin()){ 63 add_filter('language_attributes', 'get_language_code_of_this'); 36 add_action( 'save_post', 'lf_save_project_meta' ); 37 function lf_save_project_meta( $post_ID ) 38 { 39 global $post; 40 if 41 ( $post->post_type == "post" ) 42 { 43 if (isset( $_POST ) ) 44 { 45 update_post_meta( $post_ID, '_lf_language_code', strip_tags( $_POST['lf_language_code'] ) ); 46 } 47 } 64 48 } 65 49 66 function alter_the_query( $request ) { 67 $dummy_query = new WP_Query(); // the query isn't run if we don't pass any query vars 68 $dummy_query->parse_query( $request ); 50 function get_language_code_of_this($language_attributes) 51 { 52 global $wp_query; 53 $the_Post_ID = $wp_query->post->ID; 54 $lf_language_code = get_post_meta( $the_Post_ID, '_lf_language_code', true); 55 if ($lf_language_code != '' && is_single()) 56 { 57 return str_replace('lang="'.get_bloginfo('language').'"', 'lang="'.$lf_language_code.'"', $language_attributes); 58 } 59 else 60 { 61 return $language_attributes; 62 } 69 63 70 // this is the actual manipulation; do whatever you need here 71 72 $rewrite_hack=str_replace(get_bloginfo('url'),"", get_current_url_lf()); 73 // echo "<blink><h1>".$rewrite_hack."</h1></blink>"; 74 //echo "<blink><h1>works</h1></blink>"; 75 76 // get those two if-blocks for the languages you need 77 /* 78 if ( $_GET['lang']=="de" ) 79 $request['meta_value'] = 'de-DE'; 80 81 if ( $rewrite_hack=="/de/" ){ 82 $request['meta_value'] = 'de-DE'; 64 } 83 65 84 } 85 86 if ( $_GET['lang']=="en" ) 87 $request['meta_value'] = 'en-EN'; 88 89 if ( $rewrite_hack=="/en/" ){ 90 $request['meta_value'] = 'en-EN'; 66 add_filter('language_attributes', 'get_language_code_of_this'); 91 67 92 } 68 function alter_the_query( $request ) 69 { 70 $dummy_query = new WP_Query(); 71 // the query isn't run if we don't pass any query vars 72 $dummy_query->parse_query( $request ); 93 73 94 if ( $_GET['lang']=="pl" ) 95 $request['meta_value'] = 'pl-PL'; 96 97 if ( $rewrite_hack=="/pl/" ){ 98 $request['meta_value'] = 'pl-PL'; 74 // this is the actual manipulation; do whatever you need here 75 $rewrite_hack=str_replace(get_bloginfo('url'), "", get_current_url_lf()); 99 76 100 }77 $language_fields=get_option("language_fields"); 101 78 79 $arr=array_reverse($language_fields); 102 80 103 if ( $_GET['lang']=="es" ) 104 $request['meta_value'] = 'es-ES'; 105 106 if ( $rewrite_hack=="/es/" ){ 107 $request['meta_value'] = 'es-ES'; 81 foreach ($arr as $key => $value) 82 { 83 if 84 (strstr($key, "language_shortcode")) 85 { 86 $num=str_replace("language_shortcode_", "", $key); 108 87 109 }*/ 110 111 $language_fields=get_option("language_fields"); 112 113 114 $arr=array_reverse($language_fields); 115 116 117 foreach ($arr as $key => $value) { 118 if(strstr($key,"language_shortcode")){ 119 $num=str_replace("language_shortcode_","",$key); 120 121 if ( $_GET['lang']==$value ){ 122 $request['meta_value'] = $arr['language_code_'.$num]; 123 } 124 125 if ( $rewrite_hack=="/".$value."/" ){ 126 $request['meta_value'] = $arr['language_code_'.$num]; 88 if ( $_GET['lang']==$value ) 89 { 90 $request['meta_value'] = $arr['language_code_'.$num]; 91 } 92 if ( $rewrite_hack=="/".$value."/" ) 93 { 94 $request['meta_value'] = $arr['language_code_'.$num]; 127 95 128 }129 130 96 } 131 97 } 132 133 134 return $request;98 } 99 100 return $request; 135 101 } 136 102 137 103 add_filter( 'request', 'alter_the_query' ); 138 104 139 140 141 142 function get_current_url_lf(){ 143 $pageURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://"; 144 if ($_SERVER["SERVER_PORT"] != "80") 105 function get_current_url_lf() 145 106 { 146 $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 147 } 148 else 149 { 150 $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 151 } 152 return $pageURL; 107 $pageURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://"; 108 if ($_SERVER["SERVER_PORT"] != "80") 109 { 110 $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 111 } 112 else 113 { 114 $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 115 } 116 return $pageURL; 153 117 154 118 } 155 119 156 157 158 159 160 120 //add_action('init', 'lf_init'); 161 162 121 add_filter('rewrite_rules_array', 'lf_rewrite_rules_array'); 163 122 164 123 add_filter('query_vars', 'lf_query_vars'); 165 166 167 168 function lf_init() { 169 124 function lf_init() 125 { 170 126 global $wp_rewrite; 171 172 173 174 127 $wp_rewrite->flush_rules(); 175 128 176 129 } 177 130 178 function lf_rewrite_rules_array($rewrite_rules) {179 131 function lf_rewrite_rules_array($rewrite_rules) 132 { 180 133 global $wp_rewrite; 181 182 183 184 134 $arr=get_option("language_fields"); 185 135 $custom = array(); 186 foreach ($arr as $key => $value) { 187 if(strstr($key,"language_shortcode")){ 136 foreach ($arr as $key => $value) 137 { 138 if 139 (strstr($key, "language_shortcode")) 140 { 188 141 $custom[$value.'/?$'] = 'index.php?post_type=post'; 189 } 190 } 191 142 } 143 } 192 144 193 145 return $custom + $rewrite_rules; … … 195 147 } 196 148 197 function lf_query_vars($query) {198 149 function lf_query_vars($query) 150 { 199 151 array_push($query, 'language'); 200 201 202 203 152 return $query; 204 153 205 154 } 206 155 207 208 209 //add_action('init', 'lf_init');210 156 ?> -
language-field/trunk/readme.txt
r1302533 r1524925 4 4 Tags: multilingual,language,languages,translation 5 5 Requires at least: 3.0 6 Tested up to: 4. 57 Stable tag: 0. 736 Tested up to: 4.7 7 Stable tag: 0.8 8 8 License: GPLv3 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-3.0.html
Note: See TracChangeset
for help on using the changeset viewer.