Version Description
- Cache-Leerung beim Verffentlichen verfgbarer Custom Post Types
- Noindex in der von WordPress generierten
robots.txt
fr den Ordner mit HDD-Cache - Hook
cachify_flush_cache
zum Leeren des Cache aus Drittanwendungen
Download this release
Release Info
Developer | sergej.mueller |
Plugin | Cachify |
Version | 2.0.3 |
Comparing to | |
See all releases |
Code changes from version 2.0.2 to 2.0.3
- cachify.php +4 -3
- inc/cachify.class.php +107 -53
- readme.txt +7 -1
cachify.php
CHANGED
@@ -5,7 +5,7 @@ Description: Smarter Cache für WordPress. Reduziert die Ladezeit der Blogseiten
|
|
5 |
Author: Sergej Müller
|
6 |
Author URI: http://wpseo.de
|
7 |
Plugin URI: http://cachify.de
|
8 |
-
Version: 2.0.
|
9 |
*/
|
10 |
|
11 |
|
@@ -32,11 +32,12 @@ if ( ! (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) ) {
|
|
32 |
|
33 |
/* Init */
|
34 |
add_action(
|
35 |
-
'
|
36 |
array(
|
37 |
'Cachify',
|
38 |
'init'
|
39 |
-
)
|
|
|
40 |
);
|
41 |
|
42 |
/* Install */
|
5 |
Author: Sergej Müller
|
6 |
Author URI: http://wpseo.de
|
7 |
Plugin URI: http://cachify.de
|
8 |
+
Version: 2.0.3
|
9 |
*/
|
10 |
|
11 |
|
32 |
|
33 |
/* Init */
|
34 |
add_action(
|
35 |
+
'init',
|
36 |
array(
|
37 |
'Cachify',
|
38 |
'init'
|
39 |
+
),
|
40 |
+
99
|
41 |
);
|
42 |
|
43 |
/* Install */
|
inc/cachify.class.php
CHANGED
@@ -32,7 +32,7 @@ final class Cachify {
|
|
32 |
* Initialisierung des Plugins
|
33 |
*
|
34 |
* @since 1.0
|
35 |
-
* @change 2.0.
|
36 |
*/
|
37 |
|
38 |
public static function init()
|
@@ -40,29 +40,18 @@ final class Cachify {
|
|
40 |
/* Variablen */
|
41 |
self::_set_vars();
|
42 |
|
43 |
-
/* Publish
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
__CLASS__,
|
48 |
-
'publish_post'
|
49 |
-
)
|
50 |
-
);
|
51 |
-
add_action(
|
52 |
-
'publish_post',
|
53 |
-
array(
|
54 |
-
__CLASS__,
|
55 |
-
'publish_post'
|
56 |
-
)
|
57 |
-
);
|
58 |
add_action(
|
59 |
-
'
|
60 |
array(
|
61 |
__CLASS__,
|
62 |
-
'
|
63 |
)
|
64 |
);
|
65 |
-
|
66 |
/* Backend */
|
67 |
if ( is_admin() ) {
|
68 |
add_action(
|
@@ -176,6 +165,13 @@ final class Cachify {
|
|
176 |
),
|
177 |
0
|
178 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
}
|
180 |
}
|
181 |
|
@@ -371,6 +367,46 @@ final class Cachify {
|
|
371 |
}
|
372 |
|
373 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
/**
|
375 |
* Rückgabe der Optionen
|
376 |
*
|
@@ -396,6 +432,37 @@ final class Cachify {
|
|
396 |
}
|
397 |
|
398 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
399 |
/**
|
400 |
* Hinzufügen der Action-Links
|
401 |
*
|
@@ -660,45 +727,27 @@ final class Cachify {
|
|
660 |
);
|
661 |
}
|
662 |
}
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
* Leerung des Cache bei neuen
|
667 |
*
|
668 |
-
* @since 0.
|
669 |
-
* @change 0.
|
670 |
*
|
671 |
-
* @param
|
|
|
672 |
*/
|
673 |
|
674 |
-
public static function
|
675 |
{
|
676 |
-
/*
|
677 |
-
|
678 |
-
|
679 |
-
/* Löschen */
|
680 |
-
if ( in_array( $post->post_status, array('publish', 'future') ) ) {
|
681 |
-
self::flush_cache();
|
682 |
}
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
/**
|
687 |
-
* Leerung des Cache bei neuen Beiträgen
|
688 |
-
*
|
689 |
-
* @since 1.0
|
690 |
-
* @change 1.0
|
691 |
-
*
|
692 |
-
* @param intval $id ID des Beitrags
|
693 |
-
*/
|
694 |
-
|
695 |
-
public static function publish_page($id)
|
696 |
-
{
|
697 |
-
/* Page */
|
698 |
-
$page = get_page($id);
|
699 |
-
|
700 |
-
/* Löschen */
|
701 |
-
if ( $page->post_status == 'publish' ) {
|
702 |
self::flush_cache();
|
703 |
}
|
704 |
}
|
@@ -847,7 +896,12 @@ final class Cachify {
|
|
847 |
$options = self::$options;
|
848 |
|
849 |
/* Filter */
|
850 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
851 |
return true;
|
852 |
}
|
853 |
|
32 |
* Initialisierung des Plugins
|
33 |
*
|
34 |
* @since 1.0
|
35 |
+
* @change 2.0.3
|
36 |
*/
|
37 |
|
38 |
public static function init()
|
40 |
/* Variablen */
|
41 |
self::_set_vars();
|
42 |
|
43 |
+
/* Publish-Hooks */
|
44 |
+
self::_publish_hooks();
|
45 |
+
|
46 |
+
/* Flush Hook */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
add_action(
|
48 |
+
'cachify_flush_cache',
|
49 |
array(
|
50 |
__CLASS__,
|
51 |
+
'flush_cache'
|
52 |
)
|
53 |
);
|
54 |
+
|
55 |
/* Backend */
|
56 |
if ( is_admin() ) {
|
57 |
add_action(
|
165 |
),
|
166 |
0
|
167 |
);
|
168 |
+
add_action(
|
169 |
+
'robots_txt',
|
170 |
+
array(
|
171 |
+
__CLASS__,
|
172 |
+
'robots_txt'
|
173 |
+
)
|
174 |
+
);
|
175 |
}
|
176 |
}
|
177 |
|
367 |
}
|
368 |
|
369 |
|
370 |
+
/**
|
371 |
+
* Generierung von Publish-Hooks für Custom Post Types
|
372 |
+
*
|
373 |
+
* @since 2.0.3
|
374 |
+
* @change 2.0.3
|
375 |
+
*/
|
376 |
+
|
377 |
+
private static function _publish_hooks() {
|
378 |
+
/* Verfügbare CPT */
|
379 |
+
$available_cpt = get_post_types(
|
380 |
+
array('public' => true)
|
381 |
+
);
|
382 |
+
|
383 |
+
/* Leer? */
|
384 |
+
if ( empty($available_cpt) ) {
|
385 |
+
return;
|
386 |
+
}
|
387 |
+
|
388 |
+
/* Loopen */
|
389 |
+
foreach ( $available_cpt as $cpt ) {
|
390 |
+
add_action(
|
391 |
+
'publish_' .$cpt,
|
392 |
+
array(
|
393 |
+
__CLASS__,
|
394 |
+
'publish_cpt'
|
395 |
+
),
|
396 |
+
10,
|
397 |
+
2
|
398 |
+
);
|
399 |
+
add_action(
|
400 |
+
'publish_future_' .$cpt,
|
401 |
+
array(
|
402 |
+
__CLASS__,
|
403 |
+
'publish_cpt'
|
404 |
+
)
|
405 |
+
);
|
406 |
+
}
|
407 |
+
}
|
408 |
+
|
409 |
+
|
410 |
/**
|
411 |
* Rückgabe der Optionen
|
412 |
*
|
432 |
}
|
433 |
|
434 |
|
435 |
+
/**
|
436 |
+
* Hinzufügen der Action-Links
|
437 |
+
*
|
438 |
+
* @since 1.0
|
439 |
+
* @change 2.0.2
|
440 |
+
*
|
441 |
+
* @param string $data Ursprungsinhalt der dynamischen robots.txt
|
442 |
+
* @return string $data Modifizierter Inhalt der robots.txt
|
443 |
+
*/
|
444 |
+
|
445 |
+
public static function robots_txt($data)
|
446 |
+
{
|
447 |
+
/* HDD only */
|
448 |
+
if ( self::$options['use_apc'] !== 2 ) {
|
449 |
+
return $data;
|
450 |
+
}
|
451 |
+
|
452 |
+
/* Pfad */
|
453 |
+
$path = parse_url(site_url(), PHP_URL_PATH);
|
454 |
+
|
455 |
+
/* Ausgabe */
|
456 |
+
$data .= sprintf(
|
457 |
+
'Disallow: %s/wp-content/cache/%s',
|
458 |
+
( empty($path) ? '' : $path ),
|
459 |
+
"\n"
|
460 |
+
);
|
461 |
+
|
462 |
+
return $data;
|
463 |
+
}
|
464 |
+
|
465 |
+
|
466 |
/**
|
467 |
* Hinzufügen der Action-Links
|
468 |
*
|
727 |
);
|
728 |
}
|
729 |
}
|
730 |
+
|
731 |
+
|
732 |
+
/**
|
733 |
+
* Leerung des Cache bei neuen CPTs
|
734 |
*
|
735 |
+
* @since 2.0.3
|
736 |
+
* @change 2.0.3
|
737 |
*
|
738 |
+
* @param integer $id PostID
|
739 |
+
* @param object $post Object mit CPT-Metadaten [optional]
|
740 |
*/
|
741 |
|
742 |
+
public static function publish_cpt($id, $post = false)
|
743 |
{
|
744 |
+
/* Leer? */
|
745 |
+
if ( empty($post) ) {
|
746 |
+
return;
|
|
|
|
|
|
|
747 |
}
|
748 |
+
|
749 |
+
/* Status */
|
750 |
+
if ( in_array( $post->post_status, array('publish', 'future') ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
751 |
self::flush_cache();
|
752 |
}
|
753 |
}
|
896 |
$options = self::$options;
|
897 |
|
898 |
/* Filter */
|
899 |
+
if ( self::_is_index() or is_search() or is_404() or is_feed() or is_trackback() or is_robots() or is_preview() or post_password_required() ) {
|
900 |
+
return true;
|
901 |
+
}
|
902 |
+
|
903 |
+
/* Request */
|
904 |
+
if ( !empty($_POST) or (!empty($_GET) && get_option('permalink_structure')) ) {
|
905 |
return true;
|
906 |
}
|
907 |
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: sergej.mueller
|
|
3 |
Tags: apc, cache, caching, performance
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5RDDW9FEHGLG6
|
5 |
Requires at least: 3.1
|
6 |
-
Tested up to: 3.
|
7 |
Stable tag: trunk
|
8 |
|
9 |
|
@@ -18,6 +18,7 @@ Turbo für WordPress. Smarte, aber effiziente Cache-Lösung für WordPress. Mit
|
|
18 |
*Cachify* optimiert Ladezeit der Blogseiten, indem Seiteninhalte in statischer Form wahlweise in der Datenbank, auf der Festplatte des Webservers oder im APC (Alternative PHP Cache) abgelegt und beim Seitenaufruf ohne Umwege ausgegeben werden. Die Anzahl der DB-Anfragen und PHP-Anweisungen reduziert sich je nach Methode um Faktor 10.
|
19 |
|
20 |
= Stärken =
|
|
|
21 |
* Speicherungsmethoden: DB, HDD und APC
|
22 |
* "Cache leeren" als Schaltfläche in der Admin Bar
|
23 |
* Inline- und Online-Handbuch
|
@@ -49,6 +50,11 @@ Turbo für WordPress. Smarte, aber effiziente Cache-Lösung für WordPress. Mit
|
|
49 |
|
50 |
== Changelog ==
|
51 |
|
|
|
|
|
|
|
|
|
|
|
52 |
= 2.0.2 =
|
53 |
* Unterstützung für WordPress 3.4
|
54 |
* Hochauflösende Icons für iPad & Co.
|
3 |
Tags: apc, cache, caching, performance
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5RDDW9FEHGLG6
|
5 |
Requires at least: 3.1
|
6 |
+
Tested up to: 3.5
|
7 |
Stable tag: trunk
|
8 |
|
9 |
|
18 |
*Cachify* optimiert Ladezeit der Blogseiten, indem Seiteninhalte in statischer Form wahlweise in der Datenbank, auf der Festplatte des Webservers oder im APC (Alternative PHP Cache) abgelegt und beim Seitenaufruf ohne Umwege ausgegeben werden. Die Anzahl der DB-Anfragen und PHP-Anweisungen reduziert sich je nach Methode um Faktor 10.
|
19 |
|
20 |
= Stärken =
|
21 |
+
* Zusammenarbeit mit Custom Post Types
|
22 |
* Speicherungsmethoden: DB, HDD und APC
|
23 |
* "Cache leeren" als Schaltfläche in der Admin Bar
|
24 |
* Inline- und Online-Handbuch
|
50 |
|
51 |
== Changelog ==
|
52 |
|
53 |
+
= 2.0.3 =
|
54 |
+
* Cache-Leerung beim Veröffentlichen verfügbarer Custom Post Types
|
55 |
+
* Noindex in der von WordPress generierten `robots.txt` für den Ordner mit HDD-Cache
|
56 |
+
* Hook `cachify_flush_cache` zum Leeren des Cache aus Drittanwendungen
|
57 |
+
|
58 |
= 2.0.2 =
|
59 |
* Unterstützung für WordPress 3.4
|
60 |
* Hochauflösende Icons für iPad & Co.
|