允许WordPress固定链接中有点(仅适用于类别)

时间:2013-10-16 作者:PrivateUser

我使用域名作为分类。

例如,我有类别名称google.com

但wordpress在permalinks中使用连字符转换点。

有人能告诉我如何允许点在类别permalink?

1 个回复
最合适的回答,由SO网友:Oleg Butuzov 整理而成

如果您需要更改生成的永久链接的外观,请查看sanitize_title_with_dashes 函数,它是sanitize_title 挂钩过滤器。

如果该过滤器只有一个请求(避免更换.) 您可以使用相同的名称复制/粘贴此函数,删除原始引用并添加新引用。

    remove_filter(\'sanitize_title\', \'sanitize_title_with_dashes\');
add_filter(\'sanitize_fitler\', \'sanitize_filter_se_119069\');
function sanitize_filter_se_119069($title, $raw_title = \'\', $context = \'display\'){
    $title = strip_tags($title);
    // Preserve escaped octets.
    $title = preg_replace(\'|%([a-fA-F0-9][a-fA-F0-9])|\', \'---$1---\', $title);
    // Remove percent signs that are not part of an octet.
    $title = str_replace(\'%\', \'\', $title);
    // Restore octets.
    $title = preg_replace(\'|---([a-fA-F0-9][a-fA-F0-9])---|\', \'%$1\', $title);

    if (seems_utf8($title)) {
        if (function_exists(\'mb_strtolower\')) {
            $title = mb_strtolower($title, \'UTF-8\');
        }
        $title = utf8_uri_encode($title, 200);
    }

    $title = strtolower($title);
    $title = preg_replace(\'/&.+?;/\', \'\', $title); // kill entities

//  $title = str_replace(\'.\', \'-\', $title);

    if ( \'save\' == $context ) {
        // Convert nbsp, ndash and mdash to hyphens
        $title = str_replace( array( \'%c2%a0\', \'%e2%80%93\', \'%e2%80%94\' ), \'-\', $title );

        // Strip these characters entirely
        $title = str_replace( array(
            // iexcl and iquest
            \'%c2%a1\', \'%c2%bf\',
            // angle quotes
            \'%c2%ab\', \'%c2%bb\', \'%e2%80%b9\', \'%e2%80%ba\',
            // curly quotes
            \'%e2%80%98\', \'%e2%80%99\', \'%e2%80%9c\', \'%e2%80%9d\',
            \'%e2%80%9a\', \'%e2%80%9b\', \'%e2%80%9e\', \'%e2%80%9f\',
            // copy, reg, deg, hellip and trade
            \'%c2%a9\', \'%c2%ae\', \'%c2%b0\', \'%e2%80%a6\', \'%e2%84%a2\',
            // grave accent, acute accent, macron, caron
            \'%cc%80\', \'%cc%81\', \'%cc%84\', \'%cc%8c\',
        ), \'\', $title );

        // Convert times to x
        $title = str_replace( \'%c3%97\', \'x\', $title );
    }

    $title = preg_replace(\'/[^%a-z0-9 _-]/\', \'\', $title);
    $title = preg_replace(\'/\\s+/\', \'-\', $title);
    $title = preg_replace(\'|-+|\', \'-\', $title);
    $title = trim($title, \'-\');

    return $title;
}

结束

相关推荐

Pretty Permalinks

我创建了自己的搜索功能,基本上可以找到与输入的邮政编码最近的商店。我的搜索URL当前如下所示http://www.example.com/stores?searchTerm=London, 这并不是真正的SEO友好。我希望我的URL采用以下格式-http://www.example.com/stores/London, 然而,由于我缺乏WordPress URL重写工作的知识,我正在努力解决这个问题,希望能得到一些帮助来解决这个问题。Stores是一个循环显示结果的页面。如果有人对如何做到这一点有任何想法