0

我会尽量说清楚,因为很难写下来……情况:使用 WordPress 时出现问题。我安装了 WPML(多语言站点)插件,它运行良好,但问题是我使用的这个主题有自定义帖子,如主页文本和主页框,而出现在我主页上的那两个帖子没有翻译的可能性将内容转换为其他语言以具有不同语言的主页文本和框(WPML 插件的那部分只是没有出现在那里)。主页文本和主页框,这两个出现在 wordpress 的左侧 - 它是菜单的一部分,就像链接、页面或评论...

我想出了一种解决这个问题的方法。

我创建了更多这些自定义帖子。我现在有:

Homepage Text (home_text) 
Homepage Boxes (home_boxes)

Homepage Text English (home_text_en)
Homepage Boxes English (home_boxes_en)

Homepage Text Russian (home_text_ru)
Homepage Boxes Russian (home_boxes_ru)

这两个自定义帖子的 index.php 中有两段代码。我给你看一个:

<div id="homepage-text">
<?php query_posts(array(
        'post_type'=>'home_text',
        'orderby' => 'ASC'
        ));
?>
<?php if ( have_posts() ) while ( have_posts() ) : the_post();?>
<h2><?php the_title() ?></h2>
<?php the_content(); ?>
<?php endwhile; ?>
</div><!-- /homepage-text -->

在此之后,主页框有类似的代码......

解决方法:编写一段代码:“如果您来自的地址是http://www.website.eu - 使用主页文本和 home_text 和 home_boxes 框;如果是http://www.website。 com/EN - 使用 home_text_en,等等……我希望你明白我在说什么……

这里有没有人有足够的时间阅读所有这些并且会如此友善并给我写一段将我的话翻译成php的代码?

这是我对它的外观的猜测,但我正在纠结于写作条件。

    if (condition that it's the main language directory)
{
register_post_type( 'home_text',
array(
  'labels' => array(
    'name' => __( 'Homepage Text' ),
    'singular_name' => __( 'Homepage Text' )
  ),
  'public' => true,
  'supports' => array('title','editor')

)
);
}
elseif (condition that it's english language directory .com/en)
{
register_post_type( 'home_text_en',
array(
  'labels' => array(
    'name' => __( 'Homepage Text English' ),
    'singular_name' => __( 'Homepage Text English' )
  ),
  'public' => true,
  'supports' => array('title','editor')

)
);
}
else
{
register_post_type( 'home_text_ru',
array(
  'labels' => array(
    'name' => __( 'Homepage Text Russian' ),
    'singular_name' => __( 'Homepage Text Russian' )
  ),
  'public' => true,
  'supports' => array('title','editor')

  )
 );
 }

提前致谢。

多曼塔斯。

4

1 回答 1

1

您可以使用 WordPress http://codex.wordpress.org/Function_Reference/wp_get_referer的 Page Referer 功能来执行以下操作:

$page_referer_url = wp_get_referer();
if(strpos($page_referer_url,'.com/en')!==FALSE) { // Check if the text '.com/en' is part of the referer URL
    // code for english
}
else {
    // code for non english
}

您可以在这里找到 strpos() 的工作原理http://php.net/manual/en/function.strpos.php

于 2013-01-18T00:01:53.153 回答