Thread Rating:
  • 3 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Support for multilanguage sites, Internationalization (I18N)
(2015-11-19, 10:26:30)Tyblitz Wrote: Hey aldebaran,

I'll try to answer your first question:

Plugin authors (ideally) define plugin hooks you can hook into in order to execute your functions at a specified time.
In I18N, there's a plugin hook called theme-header (which is by the way also a default hook), which accesses the $language var (so you can be sure to access it if you hook into it). Note that you if you echo something, it will be outputted in the page's <head>.

Basically, do something like this (untested):



PHP Code:
<?php 
   
function your_function() {
 
    global $language;
 
    // do something based on $language;
 
  }
 
  
   add_action
('theme-header''your_function');
?>

Hi Tyblitz
 
Thanks for your help   .. That’s pointed me in a better direction  !
 
Yes, you can only access a variable, here $language, after it is set/ available  … obviously !    
 
As said, I am wanting to use the functions.php file to concatenate all backend pages together but only for the set language, and then output this in the normal content area of the template, ie within the <body>   ..   
 
I am doing this at the moment by simply running the code directly from within the file  … But this is WRONG  ..  It will run at the point where the file is imported, but I do not know  / it is not defined where this import occurs. So there is no guarantee about the state of any variables at this point  ..      
 
But in the GS wiki about theme creation it does say that you can define a file functions.php to put in any custom functions that you can then call from your theme.  It says that functions.php is then imported before the start of template output   .. so you are then free to call any function defined in the file from the template.
 
So that is what I will do  .. over the weekend …  Declare a function in functions.php to concatenate all the pages into $content, and then call it instead of the normal get_page_content() from my template  at a point where the content should go as normal and  where variable $language will also be available. I will then still need to call get_page_content() to apply to the new $content any actions and filters from  plugins as normal   
 
Cheers Aldebaran
Reply


Messages In This Thread
rewrite language problem - by tomkop - 2013-03-27, 06:34:44
Enhancement suggestion - by hameau - 2013-05-12, 04:17:12
Enhancement request - by hameau - 2013-06-14, 20:02:07
RE: Enhancement request - by mvlcek - 2013-06-14, 22:04:12
RE: Enhancement request - by hameau - 2013-06-14, 23:01:36
Duplicate language cookies bug - by enzy - 2013-08-20, 07:03:26
RE: Duplicate language cookies bug - by ohayo - 2013-08-20, 18:12:25
Plugin is not shown - by tosho - 2013-09-15, 12:10:37
1000 pages limit in i18n_navigation - by titus - 2014-10-13, 21:58:36
Bug found - by lbarsov - 2014-10-17, 03:41:53
Menu with picture - by Dimi - 2015-04-28, 16:05:45
RE: Support for multilanguage sites, Internationalization (I18N) - by aldebaran - 2015-11-20, 21:27:16
Rendering Menu in Component - by Alexander_ - 2016-05-04, 23:06:51
Meta desc for different languages - by Alexander_ - 2017-02-14, 20:29:32
Hierarchical Menus - by celextel - 2019-07-26, 16:41:47
Ri18n_navigation - by celextel - 2021-02-19, 16:07:48



Users browsing this thread: 9 Guest(s)