dqajyxqem115006813 2017-08-02 22:35
浏览 160
已采纳

如何将Wordpress注销重定向到自定义URL

I have scoured the web for the last 45 minutes and still not found a simple description of how to send a user, logging out of WordPress, to a custom URL.

I've come across this;

add_filter( 'logout_url', 'my_logout_url' );
    function my_logout_url( $url ) {
       return 'http://yourdomain.com/?a=logout';
    }

..but it does not describe where to paste that code. And i am not using a 'members' plugin.

Surely there is just something that can be added to the Theme functions.php file or a edit to general-template.php to specify a URL? I'm not even wanting a different site domain. Just back to the login page would be fine, but I would rather be able to specify an entire custom 'link' somewhere in the code. www.example.com

How/where can I do this?

Many thanks in advance for yor help or advice

  • 写回答

1条回答 默认 最新

  • douzhou7124 2017-08-03 00:52
    关注

    Basic

    I know only 2 hooks when logout happen. This is logout_url and wp_logout. Usually, I use the wp_logout in the next way

    function your_prefix_redirect() {
        wp_redirect('https://google.com/');
        die;
    }
    add_action('wp_logout', 'your_prefix_redirect', PHP_INT_MAX);
    

    Notice, I specified priority as maximum INT, because some other code may do anything else major while logout happen

    Where to place the code?

    You should to try the next ways:

    1. Place the code inside the function.php into your active theme
    2. Create a basic plugin has the code above

    I don't know about function.php, but inside the plugin the code above working well.

    How to create a Wordpress basic plugin

    1. Move to folder wp-content/plugins
    2. Create a file your-some-prefix-logout-custom-url.php
    3. Open new file and put in next:

      <?php
      /*
      Plugin Name: Custom logout URL
      Author: Your_Name
      */
      
      function your_prefix_redirect() {
          wp_redirect('https://google.com/');
          die;
      }
      add_action('wp_logout', 'your_prefix_redirect', PHP_INT_MAX);
      

    Activate the new plugin in Wordpress admin panel after you done all actions above. If your plugin isn't show in the plugin list then create any folder in wp-content/plugins and move your plugin into new folder. The comment before the code block is requirement. Read the plugin handbook if you are interested in this

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题