如何更改按钮文本,取决于站点slug(PHP、Wordpress)

如何更改按钮文本,取决于站点slug(PHP、Wordpress),php,wordpress,button,translation,Php,Wordpress,Button,Translation,首先,我想说我对PHP一无所知(它完全不是我的鞋)。我被要求在Wordpress主题中制作一些东西,这将翻译按钮中的文本,这取决于网站语言。区别仅在slug中可见,因此我假设,我必须以某种方式获取信息,即slug包含“en”或“de”,并将该信息传递给translate函数 问题是,我不知道从哪里开始。我将感激任何帮助 <div class="read-more clearfix"> <a class="button post-button" href="<

首先,我想说我对PHP一无所知(它完全不是我的鞋)。我被要求在Wordpress主题中制作一些东西,这将翻译按钮中的文本,这取决于网站语言。区别仅在slug中可见,因此我假设,我必须以某种方式获取信息,即slug包含“en”“de”,并将该信息传递给translate函数

问题是,我不知道从哪里开始。我将感激任何帮助

<div class="read-more clearfix">
        <a class="button post-button" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php esc_html_e('Read more', 'astrid'); ?></a>
</div>

将此代码放入functions.php文件中

if(strpos($_SERVER['REQUEST_URI'], 'de') !== false ){
        //If your slug is de
    _e('<div class="read-more clearfix">
        <a class="button post-button" href="'.the_permalink().'" title="'. the_title().'">'.esc_html("Read more", "astrid").'</a>
        </div>');
}
else{
        //If your slug is en
    _e('<div class="read-more clearfix">
        <a class="button post-button" href="'.the_permalink().'" title="'.the_title().'">'.esc_html("Read more", "astrid").'</a>
        </div>');
}
if(strpos($\u服务器['REQUEST\u URI','de')!==false){
//如果你的鼻涕虫是de
_e('
');
}
否则{
//如果你的鼻涕虫是
_e('
');
}

如果您只想替换按钮文本,上面的代码很好,但是如果您想在所有页面上设置,请使用基于语言的翻译插件。

我认为它可以完成这项工作

function the_title(){
  $language = $_GET["slug"];
  $buttonText = "";

  switch($language){
    case "fr":
      $buttonText = "Le texte de mon button";
      break
    case "de":
      $buttonText = "Mein Schaltflächentext";
      break

// etc 

    case default:
      $buttonText = "My button text";
      break 
  }
  return $buttonText;
}

但是如果你想翻译更多的东西,你需要使用基于语言翻译的插件或者创建你的插件。因为否则很快就很难维护


<?php elseif(strpos($_SERVER['REQUEST_URI'], 'en') !== false ): ?>

<div class="entry-summary">
<?php the_excerpt(); ?>
</div>

<div class="read-more clearfix">
<a class="button post-button" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php esc_html_e('Read more', 'astrid'); ?></a>
</div>

<?php else : ?>

<div class="entry-summary">
<?php the_excerpt(); ?>
</div>

<div class="read-more clearfix">
<a class="button post-button" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php esc_html_e('Czytaj więcej', 'astrid'); ?></a>
</div>

<?php endif; ?>

你好,谢谢@Dhruv的帮助。我尝试了你的解决方案,wordpress的回答是一个错误。在第``行中,我收到了语法错误,意外的'Read'(T_STRING),预期的','或''@Wiktor它只是更新了我的代码请尝试使用更新的answerHi@Dhruv。很抱歉延迟回复,但我还有很多其他事情要做。我把这个案例看得更广一些,并意识到我没有与您分享代码的正确范围。在犯了几个错误后,我终于找到了解决办法。下面是我与WordPress主题一起工作的代码行。非常感谢你的帮助!