Plugin Directory

Changeset 1524925


Ignore:
Timestamp:
10/30/2016 07:32:24 PM (9 years ago)
Author:
theode
Message:

bugfixes and wp 4.7

Location:
language-field
Files:
5 added
3 edited

Legend:

Unmodified
Added
Removed
  • language-field/trunk/language-field.php

    r1197382 r1524925  
    55Description: This is a Plug-in to manually change languages for specific Articles, to solve issues on multilingual blogs
    66Author: @wpplugindevcom
    7 Version: 0.75
     7Version: 0.8
    88Author URI: http://www.wp-plugin-dev.com
    99Text Domain:   language-field
     
    3232include ('lf_admin_page.php');
    3333
    34 function create_lf_option(){
    35 add_option( "language_fields", array(),yes);
    36 
    37 
     34function create_lf_option()
     35{
     36    add_option( "language_fields", array(),yes);
    3837}
    3938
  • language-field/trunk/lf_core_functions.php

    r1302533 r1524925  
    11<?php
    22add_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                 }
     3function 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}
    910
    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
     11function 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);
    1317
    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        {
    2022            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 />
    2430            <?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    }
    5833
    5934}
    6035
    61 
    62 if(!is_admin()){
    63 add_filter('language_attributes', 'get_language_code_of_this');
     36add_action( 'save_post', 'lf_save_project_meta' );
     37function 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    }
    6448}
    6549
    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 );
     50function 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    }
    6963
    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}
    8365
    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';
     66add_filter('language_attributes', 'get_language_code_of_this');
    9167
    92         }
     68function 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 );
    9373
    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());
    9976
    100         }
     77    $language_fields=get_option("language_fields");
    10178
     79    $arr=array_reverse($language_fields);
    10280
    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);
    10887
    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];
    12795
    128                 }
    129            
    13096            }
    13197        }
    132        
    133        
    134     return $request;
     98    }
     99
     100    return $request;
    135101}
    136102
    137103add_filter( 'request', 'alter_the_query' );
    138104
    139 
    140 
    141 
    142 function get_current_url_lf(){
    143 $pageURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://";
    144 if ($_SERVER["SERVER_PORT"] != "80")
     105function get_current_url_lf()
    145106{
    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;
    153117
    154118}
    155119
    156 
    157 
    158 
    159 
    160120//add_action('init', 'lf_init');
    161 
    162121add_filter('rewrite_rules_array', 'lf_rewrite_rules_array');
    163122
    164123add_filter('query_vars', 'lf_query_vars');
    165 
    166 
    167 
    168 function lf_init() {
    169 
     124function lf_init()
     125{
    170126    global $wp_rewrite;
    171 
    172 
    173 
    174127    $wp_rewrite->flush_rules();
    175128
    176129}
    177130
    178 function lf_rewrite_rules_array($rewrite_rules) {
    179 
     131function lf_rewrite_rules_array($rewrite_rules)
     132{
    180133    global $wp_rewrite;
    181 
    182 
    183    
    184134    $arr=get_option("language_fields");
    185135    $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        {
    188141            $custom[$value.'/?$'] = 'index.php?post_type=post';
    189             }
    190             }
    191            
     142        }
     143    }
    192144
    193145    return $custom + $rewrite_rules;
     
    195147}
    196148
    197 function lf_query_vars($query) {
    198 
     149function lf_query_vars($query)
     150{
    199151    array_push($query, 'language');
    200 
    201 
    202 
    203152    return $query;
    204153
    205154}
    206155
    207 
    208 
    209 //add_action('init', 'lf_init');
    210156?>
  • language-field/trunk/readme.txt

    r1302533 r1524925  
    44Tags: multilingual,language,languages,translation
    55Requires at least: 3.0
    6 Tested up to: 4.5
    7 Stable tag: 0.73
     6Tested up to: 4.7
     7Stable tag: 0.8
    88License: GPLv3 or later
    99License URI: http://www.gnu.org/licenses/gpl-3.0.html
Note: See TracChangeset for help on using the changeset viewer.