Промывка постоянных ссылок WordPress с помощью хука - PullRequest
0 голосов
/ 30 апреля 2019

Я создаю панель с настраиваемыми параметрами для моей темы, и одна из возможностей, которую я добавляю, - это изменение значка привязки местоположения на Картах Google для пользователей, которые используют тему Divi.

Это в основном кнопка включения / выключения, где в режиме «вкл.» Следует добавить следующий код в 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');

Работает нормально, но после переключения опции в положение ВКЛ, прежде чем она вступит в силу, я должен перейти к опции Постоянные ссылки и нажать кнопку сохранения - как я могу сделать так, чтобы постоянные ссылки перезаписывались автоматически при необходимости их сохранения?

Я немного погуглил и попытался добавить следующее:

...
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 голосов
/ 30 апреля 2019

Вам нужно использовать некоторые функции ajax для автоматического восстановления постоянных ссылок после включения настроек на панели тем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...