【问题标题】:Flushing WordPress permalinks using a hook使用钩子刷新 WordPress 永久链接
【发布时间】:2019-09-19 00:40:08
【问题描述】:

我正在为我的主题创建一个带有自定义选项的面板,我正在添加的一项功能是为使用 Divi 主题的用户更改 Google 地图位置图钉图标。

它基本上是一个开/关按钮,其中“开”模式应该在 htaccess 中添加以下代码:

function my_htaccess_contents( $rules )
{
$my_content = <<<EOD
\n # BEGIN Changing Marker For Divi Users
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^wp-content/themes/Divi/includes/builder/images/marker.png$ somepath/marker.png [L] 
</IfModule>
# END Changing Marker For Divi Users\n
EOD;
    return $my_content . $rules;
}
add_filter('mod_rewrite_rules', 'my_htaccess_contents');

它工作正常,但是在将选项切换到 ON 之后,在它生效之前,我必须转到永久链接选项并单击保存按钮 - 我怎样才能使它在需要保存它们的情况下自动重写永久链接?

我做了一些谷歌搜索并尝试添加以下内容:

...
add_filter('mod_rewrite_rules', 'my_htaccess_contents');
flush_rewrite_rules( $hard ); //nothing happens

...
add_filter('mod_rewrite_rules', 'my_htaccess_contents');
flush_rewrite_rules(); //nothing happens

...
add_filter('mod_rewrite_rules', 'my_htaccess_contents');
$wp_rewrite->flush_rules(true); //breaking page (I get 500)

关于如何完成此任务的任何建议? 另外,有没有办法在我的面板中关闭该选项时删除添加的内容?

【问题讨论】:

    标签: php jquery ajax wordpress .htaccess


    【解决方案1】:

    在主题面板中开启设置后,您需要使用一些 ajax 函数自动重新生成永久链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      • 2023-03-14
      相关资源
      最近更新 更多