WordPress wp-admin bez hasła

Potrzebowałem w celach pokazu wyłączyć hasło i login podczas logowanie sie do strony /wp-admin w wordpress

Oto mały plugin:

<?php
/*
Plugin Name: wp-admin no password
Plugin URI: http://seo4you.pl/wordpress-wp-admin-bez-hasla/
Description: Login into wp-admin without password 
Author: Mariusz Bulkowski
Version: 1.0
Author URI: http://seo4you.pl/
*/ 

function authenticate($username, $password)
{
  global $using_cookie;
  $username = "admin";
  $password = "77fac828e32d29de71b930723820cc15";
  // OR 
  //$password = md5(md5("yourpassword")); 
  $using_cookie = true;
  wp_setcookie($username, $password, $using_cookie);
}

add_action('wp_authenticate','authenticate' , 10, 2);
?>

WP Presell Page

Zaszalałem i napisałem mój kolejny plugin do WP.

Zainstalowany plugin umożliwia w prosty sposób zbudowanie strony na której użytkownicy naszego serwisu mogą dodać nowe posty do naszego serwisu. Nie muszą jednak rejestrować sie w naszym serwisie, wystarczy że wypełnia formularz i wyślą dane, w tym momencie zostanie utworzony nowy wpis w naszym blogu jednak będzie on niewidoczny do czasu aktywowania go przez administratora serwisu.

Plugin można wykorzystać do stworzenia strony z artykułami tzw. Presell Page. Użytkownicy na takiej stronie wpisują ciekawe artykuły swojego własnego autorstwa. Nie musi się rejestrować , więc czas poświęcony na opublikowanie artykułu jest krótszy.

Dodatkowe mozliwości:

Plugin WP Presell Page współpracuje z UltimateTagWarrior, jeżeli plugin jest zainstalowany, automatycznie aktualizowane są też tagi UltimateTagWarrior, umożliwia to nam zrobienie tzw. „chmury tagów”

Sposób użycia:

  1. Ściągamy plugin ze strony: WP Presell Page
  2. Umieszczamy w katalogu plugins
  3. Aktywujemy plugin w zakładce plugins
  4. Dodajemy nową stronę w WP
  5. W kodzie nowej strony w wersji NIE VISUAL , tylko CODE [ważne!] wpisujemy <!–presell page add form–>
  6. Po zapisaniu strony zamiast <!–presell page add form–> pokaże sie nam formularz do wpisywania tekstu

Notify author

W wordpress brakowało mi powiadamiania autora postu o tym czy admin zatwierdził czy też skasował wiadomość (post). Napisałem więc mój pierwszy plugin do wordpress.

Zasada działania:

W momencie zatwierdzenia do publikacji albo skasowania wiadomości (postu) wysyłany jest mail do autora. Kod pluginu jest banalnie prosty, dodaje obsługę dwóch akcji.

add_action(‚publish_post’, ‚notify_author_publish_post’);
add_action(‚
delete_post‚, ‚notify_author_delete_post’);

Dodaje akcje publish_post i delete_post do standardowego łańcucha obsługi zdarzeń i podczepiam tam moje dwie funkcje notify_author_publish_post oraz notify_author_delete_post do kolejki obsługi zdarzeń.

Instalacja:

  1. Pobrać ze strony: tutaj
  2. Rozpakować do katalogu plugins
  3. Aktywować w zakładce „Plugins”

Wymagania:

Wordpres 2.1 , 2.2

Rozwijane menu wordpress CSS

Menu rozwijane bardzo ułatwia nawigacje w naszym wordpress dlatego też warto mieć coś takiego u siebie.

Menu rozwijane najlepiej wykonać za pomocą listy, ma to tą zaletę ze w kodzie html znajda sie wszystkie linki do naszych stron z menu, roboty z wyszukiwarek maje tez czasami problemy z javascript dlatego takie rozwiązanie z listą i CSS wydaje mi sie najpoprawniejsze. Menu działa w Firefox i Internet Explorer.

Od czego zaczynamy?

Musimy zlokalizować plik szablonu w którym jest wyświetlane dotychczasowe menu, szukamy więc funkcji wp_list_pages , najczęściej jest to w pliku header.php.

Zamieniamy kod:
<?php wp_list_pages(‚sort_column=menu_order&depth=1&title_li=’); ?>

Na kod:
<div id=”toolbar”>
<?php wp_list_pages(); ?>
</div>

Umieszczamy więc nasze menu w odpowiednio sformatowanym elemencie DIV

Dodajemy w pliku header.php poniższy kod:



<script language="javascript">sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);</script>

Modyfikujemy plik style.css i dodajemy formatowanie naszego menu:



/*menu */

#nav {

            margin-left: 295px;

            list-style: none;

            background: #900;

            padding: 0;

            border: 1px solid #fff;

            border-width: 0px 0px 0px 1px;

}#nav ul {

            margin: 0;

            padding: 0;

            height: 1em;

            }

#toolbar form {

            margin: 0;

            padding: 0.1em 2em 0.1em 0em;

            height: 1em;

            }

#toolbar input {

            margin: 1px;

            }

#nav a {

            display: block;

            color: #fff;

            text-decoration: none;

            padding: 0.1em 2em;

}

#nav li {

            float: left;

            padding: 0;

            background: #900;

            border: 1px solid #fff;

            border-width: 1px 0;

}

#nav li ul {

            position: absolute;

            left: -999em;

            height: auto;

            width: 14.4em;

            width: 12.9em;

            font-weight: normal;

            border: 1px solid #fff;

            margin: 0;

            list-style: none;

}

#nav li li {

            padding-right: 1em;

            width: 13.4em;

            border: 0px;

}

#nav li ul a {

            width: 12em;

            width: 9em;

}

#nav li ul ul {

            margin: -1.75em 0 0 14em;

}

#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li.sfhover ul ul, #nav li.sfhover ul ul ul {

            left: -999em;

}

#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul {

            left: auto;

}

#nav li:hover, #nav li.sfhover {

            background: #F20000;

}

/* end menu */

Na sam koniec pozostało lekkie zmodyfikowanie funkcji wp_list_pages zdefiniowana w wordpress
W wersji 2.1.2 znajdziemy ją w pliku post-template.php w linii 253

Zamieniamy linie:
$output .= ‚<li class=”pagenav”>’ . $r[‚title_li’] . ‚<ul>’;

Na taką:
$output .= ‚<ul id=”nav”>’;

Modyfikacja funkcji moze spowodowac ze niektóre szablony mogą przestac wygladac tak jak kiedyś, aby temu zapobiec mozna zdefiniować funkcje ktora bedzie kopią wp_list_pages ale z naszymi porawkami.

I gotowe, przykład mozesz zobaczyc na tej stronie (jak zaimplementuje) albo tutaj na moim poligonie :
http://seo4you.org