是否有可能给条件检查目录并根据给出的代码?

时间:2013-01-17 22:57:59

标签: wordpress if-statement conditional-statements

我会尽可能地保持清醒,因为写起来很难...... 情况:使用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 -->

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

解决方法:编写一个代码:&#34;如果你来自的地址是http://www.website.eu - 使用home_text和home_box的主页文本和框;如果是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')

  )
 );
 }

提前感谢。

Domantas。

1 个答案:

答案 0 :(得分: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