【问题标题】:modify url permalink wordpress修改 url 永久链接 wordpress
【发布时间】:2012-10-01 09:40:37
【问题描述】:

我使用wordpress,我有以下问题,

我使用网址: - www.mysite.com/page - www.mysite.com/cat/page - www.mysite.com/custompostype/post

permalinks 的值为%category%/%postname%,一切正常,除了现在我必须使用两种语言,我想配置如下:

  • www.mysite.com/EN/page
  • www.mysite.com/ES/cat/page
  • www.mysite.com/BR/custompostype/post

我想更改 wordpress url 的结构,其中第一条规则是语言,并将其作为变量值。类似于/%lang%/%category%/%postname%/

我使用了 wp_rewrite,但没有成功,有什么想法吗?

【问题讨论】:

  • 这个答案可以帮助你 - stackoverflow.com/questions/10304527/…
  • 我使用插件:高级自定义字段、自定义帖子类型 UI 和 CMS 树页面视图,当我激活插件时,您指示我出现以下错误:致命错误:调用未定义的函数 qtrans_parseURL() /var/www/faytur-redesing/www/wp-content/plugins/qtranslate-slug-with-widget/qtranslate-slug-with-widget.php 在第 304 行
  • 嗯,这就是为什么我将其添加为评论而不是答案。你为什么不看一下插件代码,看看它是如何被处理的?它可能不像开箱即用的魔法一样有效,但它应该为您指明正确的方向并帮助您扩大问题以寻求答案

标签: wordpress permalinks


【解决方案1】:

现在我刚刚找到了解决问题的方法,我处理了会话

  <?php function init_sessions() {
     if (!session_id()) {
         session_start();
     } } add_action('init', 'init_sessions'); ?> <?php function detecta_idioma() {  if($_SESSION["IDIOMA"]["actual"]=="")   {
        $_SESSION["IDIOMA"]["actual"]="ES";
        $_SESSION["IDIOMA"]["abreviatura"]="";
        $_SESSION["IDIOMA"]["nombre"]="Español";
        $_SESSION["IDIOMA"]["tag"]="ES";    }   if($_GET["action"]=="idioma" &&
 $_GET["lang"])     {       unset($_SESSION["IDIOMA"]);
        switch($_GET["lang"])       {           case "EN":
                $_SESSION["IDIOMA"]["actual"]="EN";
                $_SESSION["IDIOMA"]["abreviatura"]="_en";
                $_SESSION["IDIOMA"]["nombre"]="Ingles";
                $_SESSION["IDIOMA"]["tag"]="EN";            break;          case "ES":          default:
                $_SESSION["IDIOMA"]["actual"]="ES";
                $_SESSION["IDIOMA"]["abreviatura"]="";
                $_SESSION["IDIOMA"]["nombre"]="Español";
                $_SESSION["IDIOMA"]["tag"]="ES";            break;
                    }   }   $IDIOMA=array("actual"=>$_SESSION["IDIOMA"]["actual"],"ab"=>$_SESSION["IDIOMA"]["abreviatura"],"nombre"=>$_SESSION["IDIOMA"]["nombre"],"tag"=>$_SESSION["IDIOMA"]["tag"]);
    global $wp_rewrite;
     $wp_rewrite->set_permalink_structure($_SESSION["IDIOMA"]["tag"].'/%category%/%postname%');
    return $IDIOMA; }  add_action('init', 'detecta_idioma'); ?>

适用于路线条目,例如 www.misitio.com/en/post-demo,不适用于页面、类别或分类,例如:www.misite.com/es/category/、www.site。 com/es/page/subpage 或 www.site.com/br/taxonomy

我不能使用插件 qTranslate 和 CMS 插件多语言或者它们不能很好地使用插件高级自定义字段和自定义帖子类型 UI。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多