使用钩子刷新WordPress永久链接

时间:2019-04-30 10:56:32

标签: php jquery ajax wordpress .htaccess

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

基本上是一个开/关按钮,其中“开”模式应将以下代码添加到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)

关于如何实现此目标的任何建议? 另外,当我的面板中的选项关闭时,是否可以删除添加的内容?

1 个答案:

答案 0 :(得分:0)

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