Aktuell können passwortgeschütze Beiträge in WordPress nicht über die Suche gefunden werden. Abhilfe schaft ein kleines Plugin, was den Query ändert und den String raus wirft, der diese Artikel nicht betrachtet.
Das kleine Plugin als Datei anlegen, den folgenden Code via Copy/Paste rein und ab in den Ordner der Plugins kopieren, aktivieren und gut. Mit WordPress 3.6 könnte dies anders werden, da ein Ticket bzgl. diesem Thema aktuell ist.
<?php
/**
* Plugin Name: Add password protected posts to search
* Plugin URI:
* Description: Show Password-Protected Posts in WordPress Search Results
* Version: 1.0.0
* Author: Frank Bültge
* Author URI: http://bueltge.de
* License: GPLv3
*/
! defined( 'ABSPATH' ) and exit;
add_filter( 'posts_search', 'fb_include_password_protected_posts' );
function fb_include_password_protected_posts( $search ) {
if ( ! is_user_logged_in() ) {
global $wpdb;
$pattern = " AND ({$wpdb}posts.post_password = '')";
$search = str_replace( $pattern, '', $search ); // replace sql string
}
return $search;
}
Kleine Anmerkung zu
$wpdb: Du solltest bei den Standard-Tabellen von WP nicht mehr den Prefix + Tabellennamen verwenden.$wpdbhat die Tabellennamen inkl. Prefix bereits als Eigenschaften gespeichert (z.B. anstatt$wpdb->prefix . 'posts'direkt$wpdb->posts). Der Prefix ist nur bei Extratabellen sinnvoll die von Plugins/Themes angelegt wurden. Sollten das WP-Team mal auf die Idee kommen einige Tabellennamen zu ändern, dann ist man mit den Eigenschaften von$wpdbauf der sicheren Seite.@Ralf: Danke dir für den Hinweis, was mir eigentlich auch bewusst war, nur wieder vergessen; da ich den Query debuggt habe um de String zu finden. Ist ja auch schön im Ticket zu sehen, dass
$wpdbausreicht.Da bleibt für mich ja nur zu hoffen, das man das dann in WP 3.6 abschalten kann, ich habe ein "Protected Area" und das sollte es eigentlich auch bleiben. Wozu sollen dann Suchergebnisse gelistet werden?? Der Normale User hat das Passwort doch ohnehin nicht. Was soll er dann mit den Ergebnissen??
trotzdem ne gute Info
Grüße aus einem kleinen Dorf
Recht herzlichen Dank für diese Hilfe - dann werd ich gleich mal versuchen, es mir zurechtzubasteln ..!
Danke für dieses nette Mini-Plugin, habs mir direkt eingebaut und sieh mal einer guck: Es melden sich tatsächlich mehr User an da sich an den geschützten Inhalten interessiert sind die sie vorher garnicht gesehen haben! Grüße
Vielen Dank für dieses kleine aber sehr hilfreiche Plugin In. Den ersten Test hat es nun bestanden und ich werde es bei einem neuen Projekt einsetzen.
Vielen Dank
Thomas