Gon*_*ols 7 php wordpress wpml
我有一个全新的wordpress安装,我在我的functions.php中写了一些快速重写规则,看起来像这样 -
// "rewrite" /assets/xyz to /assets/?asset=xyz
function assets_rewrite_rule($rules) {
global $wp_rewrite;
$asset_rule = array( // (not tested)
'assets/(.+)/?' => 'index.php?pagename=Assets&asset=$matches[1]'
);
return array_merge($asset_rule, $rules);
}
add_filter('page_rewrite_rules', 'assets_rewrite_rules');
Run Code Online (Sandbox Code Playgroud)
我用最原始的方式将我的侧边栏翻译成WPML和字符串翻译.
这是我的侧边栏的英文部分(未翻译) -
<div class="sideall">
<div class="sidebar-mai1">
<div class="sidebar-name">
<img style="width: 25px; margin-right: 10px; margin-bottom: -7px;" title="first asset" src="/wp-content/images/sidbar-assets/firstasset.png" alt="first asset" />First Asset</div>
<div class="sidebar-btn">
<a class="btn-sidebar" href="/assets/first-asset/">Review</a>
<a class="btn-sidebar1" href="/buy/first-asset">Trade Now!</a></div>
<div style="clear: both;"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
在尝试翻译其他语言时(比如说意大利语),wpml拒绝将我的更改保存到评论链接.就像我的重定向规则以某种方式影响它一样.
这是我添加到侧边栏的翻译 -
<div class="sideall">
<div class="sidebar-mai1">
<div class="sidebar-name">
<img style="width: 25px; margin-right: 10px; margin-bottom: -7px;" title="first asset" src="/wp-content/images/sidbar-assets/firstasset.png" alt="first asset" />First Asset</div>
<div class="sidebar-btn">
<a class="btn-sidebar" href="/it/assets/first-asset/">Revisione</a>
<a class="btn-sidebar1" href="/buy-it/first-asset">Scambia ora!</a></div>
<div style="clear: both;"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
你可以看到评论和购买链接都被更改了..但是在我点击保存后,它只保存了我在buy href中所做的更改,但它将我的更改恢复为评论链接,它看起来像我之后保存 -
<div class="sideall">
<div class="sidebar-mai1">
<div class="sidebar-name">
<img style="width: 25px; margin-right: 10px; margin-bottom: -7px;" title="first asset" src="/wp-content/images/sidbar-assets/firstasset.png" alt="first asset" />First Asset</div>
<div class="sidebar-btn">
<a class="btn-sidebar" href="/it/assets">Revisione</a>
<a class="btn-sidebar1" href="/buy-it/first-asset">Scambia ora!</a></div>
<div style="clear: both;"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,在我点击保存后,它会从我的翻译中删除/ first-asset部分,现在它会导致一个空页面(/ it/assets)..我想知道它是否可能是由于改写..
如果您在线测试您的表达式,您会发现您的正则表达式正在删除 URL 的第一个资产部分。
Regular Expression: assets\/(.+)\/?
Test String: /it/assets/first-asset/
Run Code Online (Sandbox Code Playgroud)
这将返回/it/assets/。
| 归档时间: |
|
| 查看次数: |
168 次 |
| 最近记录: |