kostenloser Webspace werbefrei: lima-city


Plugin Back Wordpress

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    laex630

    laex630 hat kostenlosen Webspace.

    Hallo,

    benötige hier in diesem Plugin noch einen "Vor" Button, bisher ist nur ein "Zurück" drin, ist es möglich, das es links vom Content "Zurück" anzeigt und rechts "Vor" angezeigt?

    <?php
    /*
    Plugin Name: wpbackbutton
    Plugin URI: http://no-plugin-site-available
    Description: Enables a back button that reverse engineers the users navigation to enable a simple "back" button on every page.
    Version: 0.2
    Author: Marc Dix
    Author URI: http://www.dixpix.de
    Author Email: marcdix@marcdix.de
    */
    class WP_back_button {
        const name         = 'wpbackbutton';
        const slug         = 'wpbackbutton';
        private $savedURLs = array();
    
        function __construct() {
            $this->init_plugin_constants();
            $this->init_shortcodes();
            add_action( 'init', array( $this, 'addAndRemoveURLs') );
        }
    
        function addAndRemoveURLs() {
            $mainpageURL = home_url() . '/';
            $currentURL  = $this->getCurrentURL();
    
            if ($this->cookieDoesntExist()) {
                if ($mainpageURL == $currentURL) {
                    $this->addURLToStack($mainpageURL);
                    $this->writeCookie();
                    return;
                }
    
                $this->addURLToStack($mainpageURL);
                $this->addURLToStack($currentURL);
                $this->writeCookie();
                return;
            }
    
            // navigated to the start - remove all urls: "restart" - no back button
            if ($mainpageURL == $currentURL) {
                $this->addURLToStack($mainpageURL);
                $this->writeCookie();
                return;
            }
    
            $this->savedURLs = $this->getUnserializedStackFromCookie();
            // back button has been used
            if ($this->getSecondToTheLastSavedURL() == $currentURL) {
                $this->removeLastURLFromStack();
                $this->writeCookie();
                return;
            }
    
            // new page has been entered
            if ($this->getLastURL() != $this->getCurrentURL()) {
                $this->addURLToStack($this->getCurrentURL());
                $this->writeCookie();
                return;
            }
        }
    
        private function writeCookie() {
            setcookie('wpbackbutton', serialize($this->savedURLs));
        }
    
        private function addURLToStack($URL) {
            array_push($this->savedURLs, $URL);
        }
    
        private function removeLastURLFromStack() {
            array_pop($this->savedURLs);
        }
    
        private function getUnserializedStackFromCookie() {
            return unserialize(stripslashes(urldecode($_COOKIE['wpbackbutton'])));
        }
    
        private function getCurrentURL() {
            if (!isset($_SERVER['REQUEST_URI'])){
                $serverrequri = $_SERVER['PHP_SELF'];
            } else {
                $serverrequri = $_SERVER['REQUEST_URI'];
            }
            $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
            $protocol = $this->strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/") . $s;
            return $protocol . "://" . $_SERVER['SERVER_NAME'] . $serverrequri;
        }
    
        private function strleft($s1, $s2) {
            return substr($s1, 0, strpos($s1, $s2));
        }
    
        private function cookieDoesntExist() {
            return !isset($_COOKIE['wpbackbutton']);
        }
    
        private function getLastURL() {
            return end($this->savedURLs);
        }
    
        private function getSecondToTheLastSavedURL() {
            end($this->savedURLs);
            return prev($this->savedURLs);
        }
    
        private function init_plugin_constants() {
            // This is what shows in the Widgets area of WordPress
            define( 'PLUGIN_NAME', self::name );
            // WP initializing slug directory in which the plugin resides
            define( 'PLUGIN_SLUG', self::slug );
        }
    
        // Add a shortcode to be able to get button source via do_shortcode in the template
        function init_shortcodes() {
            add_shortcode('renderBackButton', array($this, 'wpbackbutton_shortcode'));
        }
    
        function wpbackbutton_shortcode() {
            if ($this->getSecondToTheLastSavedURL()) {
                return '<a class="wpbackbutton" href="' . $this->getSecondToTheLastSavedURL() . '">Zurück</a>';
            }
            return;
        }
    }
    new WP_back_button();
    ?>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. ich nutze WP-PageNavi
    viele themes funktionieren von haus aus mit dem plugin

    falls nicht kannst du dein theme anpassen. was du da austauschen musst ist hier beschrieben:
    https://wordpress.org/plugins/wp-pagenavi/installation/

    funktioniert sowohl auf multipart pages also wenn du ein more im artikel einfügst als auch auf der startseite,kategorien etc.

    ist zwar nicht ganz das nachdem du suchst aber vielleicht findest du das ja so besser ;)

    Beitrag zuletzt geändert: 19.10.2015 2:30:48 von pc0tweak
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!