WordPress.org

Make WordPress Core

Ticket #3875: testplugin.2.php

File testplugin.2.php, 1.5 KB (added by darkdragon, 13 years ago)

Remove from admin panel too and more kinder words.

Line 
1<?php
2/*
3Plugin Name: Plugin Test
4Plugin URI: http://www.santosj.name
5Description: Horriblely break WordPress
6Author: Jacob Santos
7Version: code base
8Author URI: http://www.santosj.name
9*/
10
11new TestPlugin();
12
13class TestPlugin
14{
15    var $message = 'Hey, message was not updated! WTF?';
16   
17    function TestPlugin()
18    {
19        $this->construct();
20    }
21   
22    function __construct()
23    {
24        add_action('init', array(&$this, 'init'));
25    }
26   
27    function init()
28    {
29        add_filter('the_content', array(&$this, 'the_content'));
30        add_filter('the_title', array(&$this, 'the_title'));
31       
32        // This illustrates, why it is useful to remove a plugin
33        // It could be further illustrated by plugins that wish to check and
34        // remove filters from other plugins and then add them again. Or
35        // move their own hooks that are no longer needed, while still in
36        // loop.
37       
38        $this->message = 'Removal Failed! Not seriously, but fix me!';
39       
40       
41        add_action('wp_head', array(&$this, 'stop_message'));
42        add_action('admin_head', array(&$this, 'stop_message'));
43    }
44   
45    function the_content($content)
46    {
47        return $this->message;
48    }
49   
50    function the_title($title)
51    {
52        return 'Removal Failed!';
53    }
54   
55    function stop_message()
56    {
57        remove_filter('the_content', array(&$this, 'the_content'));
58        remove_filter('the_title', array(&$this, 'the_title'));
59    }
60   
61}