Utilizarea PHP în pagini cu extensia html. PHP: realizarea unei „mini-baze de date” pe un fișier text Modificarea numărului de înregistrări de pe pagina de căutare

Colecție de fragmente utile (coduri). Codurile sunt concepute pentru sarcini obișnuite atunci când editați sau creați o temă.

De obicei, tot acest cod ar trebui să fie plasat în fișierul functions.php al temei. Sau, puteți crea un fișier .php separat, plasați codul acolo și conectați fișierul la funcțiile.php ale temei astfel:

// conectați fragmente require_once "functions-snippets.php";

Aspectul CSS pentru editorul TinyMCE

Conectează fișierul de stiluri la editorul WordPress TinyMCE. În acest fel, putem configura stiluri de editor în panoul de administrare și, atunci când edităm o postare, să vedem cum arată în front-end.

// Stiluri pentru editorul TinyMCE // Trebuie să creați un fișier „editor-styles.css” în folderul temă add_action(„current_screen”, „my_theme_add_editor_styles”); funcția my_theme_add_editor_styles() ( add_editor_style("editor-styles.css"); )

CSS pentru pagina de conectare

## CSS pentru pagina de autentificare ## Trebuie să creați un fișier „wp-login.css” în folderul tematic add_action(„login_head”, „my_loginCSS”); funcția my_loginCSS() ( ecou ""; )

CSS pentru panoul de administrare

Include un fișier de stil pe toate paginile panoului de administrare. Astfel, puteți modifica și completa în mod convenabil stilurile panoului de administrare.

## Stiluri CSS pentru panoul de administrare. Trebuie să creați un fișier „wp-admin.css” în folderul temă add_action(„admin_enqueue_scripts”, „my_admin_css”, 99); funcția my_admin_css())( wp_enqueue_style("my-wp-admin", get_template_directory_uri() ."/wp-admin.css"); )

Eliminarea barei de administrare din front end

Bara de administrare poate împiedica atunci când tema utilizează blocuri fixe (plutitoare). În astfel de cazuri, uneori este mai ușor să eliminați această bară.

## Elimină bara de administrare din front end add_filter("show_admin_bar", "__return_false");

## Activați suportul pentru widget. Adăugați o zonă pentru widget-uri if(function_exists("register_sidebar"))( register_sidebar(array("before_widget" => "", "after_widget" => "", "before_title" => "", "after_title" => "" , ));

Activarea suportului pentru meniuri personalizate

## Adăugați meniuri personalizate register_nav_menus(array("main" => "Meniul principal", "in_footer" => "Meniul în subsol",));

Adăugarea de link-uri către fluxul RSS de postări și comentarii

Imagine de fundal personalizată sau fundal ## Permite posibilitatea de a seta o imagine de fundal din panoul de administrare add_theme_support("custom-background");

Ca rezultat, codul va scoate:

body.custom-background (culoare de fundal: #bdd96e; )

Includerea de coduri scurte în widgetul Text

Multe plugin-uri folosesc coduri scurte, dar nu toate au widget-uri. În acest caz, ar fi convenabil să utilizați codul scurt al pluginului în widget-ul „Text”.

## Shortcodes în widgetul „Text” if(! is_admin())( add_filter(„widget_text”, „do_shortcode”, 11); )

Text aleatoriu implicit în câmpul de conținut din zona de administrare

La crearea noua intrare(post sau pagină) uneori este convenabil să aveți acolo niște note, explicații despre cum și ce să scrieți. Pentru a face acest lucru, puteți insera text implicit în conținut:

## Text implicit aleatoriu pentru editor add_filter("default_content", "writing_encouragement_func"); function writing_encouragement_func($content) ( global $post_type; // Texte pentru editor, tip post if($post_type == "post")( $array = array ("Un mesaj", "Un mesaj", ); return $ array[ array_rand($array) ] ) // Texte pentru editor, post tip pagina else ( $array = array("Un mesaj", "Un mesaj"); return $array[ array_rand($array) ];

Modificarea numărului de intrări pe pagina de căutare

În mod implicit, pagina de căutare arată același număr de intrări pe pagină ca în altă parte, așa cum se stabilește în setări.

Acest exemplu arată cum să afișați 100 de înregistrări pe o pagină.

## modificați cantitatea de postări de pe pagina de căutare - setați aici la 100 add_action("pre_get_posts", "search_results_per_page_func"); function search_results_per_page_func($query) ( // interogare pe pagina de cautare if(! is_admin() && $query->is_main_query() && $query->is_search())( $query->set("posts_per_page", 100) ; ) returnează $interogare;

Stabilește câte cuvinte ar trebui să fie într-un citat, care este de obicei afișat pe paginile arhivate ale postărilor (categorii, etichete). Citatul este scos de funcția_excerpt().

## Modificarea lungimii citatului add_filter("excerpt_length", "custom_excerpt_length_func"); function custom_excerpt_length_func($lungime) ( returneaza 20; // numarul de cuvinte )

Eliminarea câmpurilor dintr-un profil din panoul de administrare: AIM, Yahoo IM, Jabber ## elimină câmpuri dintr-un profil: AIM, Yahoo IM, Jabber / Google Talk add_filter("user_contactmethods", "remove_contactmethod"); funcția remove_contactmethod($contactmethods) ( unset($contactmethods["obiectiv"]); unset($contactmethods["jabber"]); unset($contactmethods["yim"]); return $contactmethods; ) Adăugarea de câmpuri la un profil în admin: facebook, twitter ## Adaugă câmpuri la profil: AIM, Yahoo IM, Jabber / Google Talk add_filter("user_contactmethods", "add_contactmethod"); function add_contactmethods($contactmethods) ( $contactmethods["twitter"] = "Twitter"; $contactmethods["facebook"] = "Facebook"; return $contactmethods; ) Adăugarea clasei has_sidebar la etichetă dacă există o bară laterală

Pentru ca acest hack să funcționeze, eticheta temă trebuie să folosească eticheta șablon body_class(), așa cum este de obicei.

## Adăugarea clasei `has_sidebar` la eticheta `` dacă există o bară laterală add_filter("body_class", "has_sidebar_func"); function has_sidebar_func($classes)( if(is_active_sidebar("sidebar"))( // adauga o clasa $classes = "has_sidebar"; ) returneaza $clase; )

Adăugarea unui widget la consolă

Uneori poate fi util să adăugați un widget la consola panoului de administrare pentru a-l plasa informatii importante referitor la subiectul curent.

## Widget personalizat în consola din panoul de administrare add_action("wp_dashboard_setup", "my_custom_dashboard_widgets"); function my_custom_dashboard_widgets() ( wp_add_dashboard_widget("custom_help_widget", "Theme Notes", "custom_dashboard_help"); ) function custom_dashboard_help() ( echo "

Bun venit la subiectul „Subiectul meu”! Iată câteva note pe această temă.";)

Primim acest widget:

Include un script de răspuns la comentarii

Acest script mută formularul de comentariu atunci când faceți clic pe butonul „Răspuns”.

## Conectarea scriptului de răspuns la comentariu add_action("wp_footer", "enable_threaded_comments"); funcția enable_threaded_comments())( if(is_singular() && comments_open() && get_option("thread_comments")) wp_enqueue_script("comment-reply"); )

Imagini Activați miniaturile postării

În mod implicit, postările nu au un bloc în care puteți seta o miniatură a postării. Pentru ca un astfel de bloc să apară, trebuie să fie activat. Trebuie să activați suportul pentru miniaturi. Acest lucru se face foarte simplu:

## Activarea miniaturilor postare add_theme_support("post-thhumbnails"); set_post_thumbnail_size(200, 200, true); // Miniaturi normale ale postărilor

Crearea unor dimensiuni intermediare suplimentare pentru miniaturi

Când încărcați o imagine, sunt create dimensiuni suplimentare pentru aceasta - miniaturi. Puteți adăuga cu ușurință propriile dimensiuni la cele de bază - cele arbitrare.

## Se creează dimensiuni intermediare pentru miniaturi if(function_exists("add_image_size"))( add_image_size("mysize-horizont", 300, 200, true); add_image_size("mysize-vertical", 400, 500, true); )

Pentru a obține dimensiunea înregistrată, utilizați funcția:

Adăugarea unei miniaturi la un flux RSS

Acest cod adaugă o miniatură a postării în partea de sus a fluxului RSS.

## Adăugarea unei miniaturi la fluxul RSS add_filter("the_excerpt_rss", "add_thumbnail_to_feed"); //add_filter("the_content_feed", "add_thumbnail_to_feed"); // de obicei, acest cârlig nu este folosit, dar poate fi și... function add_thumbnail_to_feed($content)( $img = get_the_post_thumbnail(null, array(100, 80), array("align" => "left", " stil" => "margin-right:15px;"); $content = $img . $content;

Anulați împachetarea imaginilor într-o etichetă

În conținut

Când se afișează conținut într-o temă folosind the_content() , funcția wpautop() este declanșată și, ca rezultat, dacă este pe o linie separată, se înfășoară

Aceste. a fost devenit .

Acest exemplu arată cum să eliminați acest comportament ciudat.

## Anulați împachetarea imaginilor în eticheta `

` în conținut add_filter("the_content", "remove_img_ptags_func"); function remove_img_ptags_func($content)( return preg_replace("/

\s*((?:]+>)?\s* ]+>\s*(?:)?)\s*/i", "\1", $content); ) // Conectarea scriptului html5 pentru IE cu cdn add_action("wp_head", "IEhtml5_shim_func"); funcția IEhtml5_shim_func())( echo ""; // sau dacă aveți nevoie și de suport pentru imprimare // echo ""; )

Hai să instalăm cantitate maxima revizuiri de înregistrări

În mod implicit, numărul de revizuiri a înregistrărilor este nelimitat și acest lucru poate aglomera în mod inutil baza de date. Dezactivarea completă a revizuirilor nu este, de asemenea, cel mai bun lucru. cea mai buna solutie, pentru că se întâmplă ca la editarea unei înregistrări ceva să nu meargă bine și datele introduse să se piardă - treaba este pe scurgere...

În mod ideal, limitați numărul de revizuiri, de exemplu la 5:

If(! defined("WP_POST_REVISIONS")) define("WP_POST_REVISIONS", 5);

Constanta trebuie definită în plugin sau mai devreme.

Protecție Eliminarea versiunii WP

Acest lucru este necesar pentru ca hackerii să nu cunoască versiunea WP și să nu poată identifica punctele slabe. Odată cu acest cod, trebuie să ștergeți și fișierul readme.html din rădăcina site-ului, deoarece indică și versiunea curentă.

## Eliminarea completă a versiunii WP ## De asemenea, trebuie să ștergeți fișierul readme.html din rădăcina site-ului remove_action("wp_head", "wp_generator"); // din antetul add_filter("the_generator", "__return_empty_string"); // din fluxuri și adrese URL

Dezactivați mesajele de eroare de pe pagina de conectare

În cazul unei erori la introducerea unui login sau a unei parole, WP raportează exact ce a fost introdus incorect: autentificare sau parolă. Aceasta dă Informații suplimentare pentru ghicitorii de parole.

Dezactivați posibilitatea de a edita fișiere în panoul de administrare pentru teme și pluginuri

Abilitatea de a edita fișiere direct din panoul de administrare poate deveni o mare gaură de securitate. Să-l închidem.

## Dezactivează posibilitatea de a edita fișiere în panoul de administrare pentru teme și pluginuri define("DISALLOW_FILE_EDIT", true);

Închideți publicația prin xmlrpc.php

În mod implicit, abilitatea de a publica postări prin fișierul xmlrpc.php este activată.

Aceasta este o oportunitate de a publica postări din exterior, de exemplu din e-mail... Cel mai adesea, această funcționalitate nu este necesară și pot exista posibile găuri în ea. Prin urmare, cel mai adesea este de dorit să-l dezactivați. Apropo, la început versiuni WordPress Această funcționalitate a fost dezactivată implicit și a trebuit să fie activată pentru a o utiliza.

## dezactivează abilitatea de a publica prin xmlrpc.php add_filter("xmlrpc_enabled", "__return_false");

Adesea, pe site-urile Web puteți găsi pagini cu formulare HTML plasate pe ele. Formulare Web - mod convenabil obținerea de informații de la vizitatorii site-ului dvs. Un exemplu în acest sens este cartea de oaspeți, care oferă feedback cu vizitatorii site-ului și dezvoltatorii. Formularele sunt, de asemenea, convenabile pentru dezvoltatorii de site-uri atunci când dezvoltă un CMS, ceea ce le permite să mențină proprietatea principală a site-ului - relevanța. Acest articol acoperă elementele de bază ale creării de formulare HTML, procesării acestora și modalități de transfer de date din formularele de ecran în scripturile PHP.

1) Creați un formular simplu

Etichete Şi definiți începutul și sfârșitul formularului. Eticheta formular de pornire contine doua atribute: acţiuneŞi metodă. Atributul de acțiune conține adresa URL a scriptului care trebuie apelat pentru a procesa scriptul. Atribut metodă spune browserului ce tip de cerere HTTP să folosească pentru a trimite formularul; valori posibile POSTŞi OBŢINE.

Comentariu

Principala diferență dintre metodele POST și GET este modul în care sunt transferate informațiile. În metoda GET, parametrii sunt trecuți prin bara de adrese, adică. în esență în antetul cererii HTTP, în timp ce în metoda POST parametrii sunt transmisi prin corpul cererii HTTP și nu se reflectă în niciun fel în bara de adrese.

Sarcină: Să presupunem că trebuie să creați o listă derulantă cu ani de la 2000 la 2050.
Soluție: trebuie să creați formular HTML cu elementul SELECT și PHP – script pentru procesarea formularului.

Discuţie:

Mai întâi, să creăm două fișiere: form.html și action.php. Fișierul form.html va conține un formular html cu o listă derulantă. În plus, valorile din listă pot fi specificate în două moduri:

I. Introducerea manuală a datelor:


2000
2001
2002
……………………………………………
2050

II. Introducerea datelor printr-o buclă:



După cum puteți vedea, al doilea exemplu cu o buclă este mai compact. Cred că nu este nevoie să furnizați scriptul de gestionare pentru acest formular, deoarece este procesat exact la fel ca un câmp de text, de exemplu. valorile listei pot fi preluate din matrice superglobală.

$_POST

Descriere:




Să creăm un formular HTML pentru a trimite un fișier către server. Acest formular html conține un element răsfoiește , care deschide o casetă de dialog pentru selectarea unui fișier de încărcat pe server. Când apăsați butonul

„Transferați fișierul”

Comentariu

, fișierul este transmis scriptului de gestionare.

Apoi trebuie să scrieți scriptul pentru handler action.php . Înainte de a scrie handler-ul, trebuie să decidem în ce director vom copia fișierul:

Dacă aveți încredere în utilizatorii să încarce orice fișiere pe serverul dvs., trebuie să fiți extrem de atenți. Atacatorii pot încorpora codul „rău” într-o imagine sau într-un fișier și îl pot trimite la server. În astfel de cazuri, trebuie să controlați strict descărcarea fișierelor. Acest exemplu demonstrează crearea unui director și copierea unui fișier în acel director pe server. De asemenea, aș dori să demonstrez un exemplu cu elementul Acest exemplu demonstrează crearea unui director și copierea unui fișier în acel director pe server. caseta de selectare matrice superglobală. Acest element este ușor diferit de alte elemente, dacă nu unul dintre elemente


’a nu este selectată, atunci variabila superglobală
va returna valoarea goala:
Albastru




Negru

Alb Dacă aveți alte întrebări sau ceva nu este clar - bine ați venit la pagina noastră Când creați chiar și un site web personal, nu toată lumea poate asigura totul

moduri posibile utilizarea sa ulterioară. Este foarte important să pregătiți terenul pentru dezvoltarea ulterioară a site-ului. Dacă ați creat un site web în trecut și ați atribuit în mod implicit extensia .html tuturor paginilor și abia atunci ați decis să utilizați PHP, atunci citiți mai departe. programare, strasului i se atribuie extensia corectă.

Dar ce să faci când toate paginile se termină cu extensia .html?

Înlocuiți extensia HTML cu PHP

Acest lucru se poate face în mai multe moduri. Cea mai evidentă modalitate este de a da tuturor paginilor extensia .php sau de a o schimba deja extensii existente(.html, .shtml etc.). Această metodă are dezavantaje. De exemplu, paginile deja indexate cu extensia .html vor trebui indexate din nou motoarele de căutare. Sau și mai rău - toate linkurile externe care fac trimitere explicit către o anumită pagină vor fi invalide. Și va trebui să anunțați proprietarii fiecărui site despre aceste modificări și să creați o altă pagină cu 301 erori pentru fiecare pagină. Desigur, schimbarea unei extensii cu alta este acceptabilă, dar ce să faci dacă site-ul are deja multe pagini și multe link-uri către pagini diferite de pe alte site-uri?

Dintr-un motiv conștient în acest moment Toate paginile acestui site se termină cu extensia html și nu am vrut să fac modificările de mai sus, creând astfel dificultăți inutile pentru mine.

O poți face altfel. Dacă serverul care găzduiește site-ul acceptă mod_rewrite (în cele mai multe cazuri o face) și există acces la fișierul .htaccess, atunci puteți adăuga următoarele rânduri la acest fișier:

RewriteEngine on RewriteRule ^(.*)\.html $1\.php

Adăugând acest cod la .htaccess , nu trebuie să vă faceți griji. Toate paginile solicitate inexistente cu o extensie .html vor fi înlocuite automat cu o extensie .php datorită minunilor Apache. Dar această metodă nu este singura. Puteți scrie următoarele în același fișier .htaccess:

Aplicația AddHandler/x-httpd-php .php .html .htm

După părerea mea, cea mai reușită modalitate. Acest lucru face ca paginile HTML să fie egale cu paginile PHP, adică totul Funcții PHP poate fi folosit acum pe pagini cu extensie HTML. Dacă nu aveți acces la fișierul .htaccess, atunci puteți scrie o scrisoare companiei de găzduire și puteți cere politicos administratorilor să introducă valoarea necesară pentru site în configurația Apache (httpd.conf).

Apropo, dacă înainte de aceasta, site-ul a folosit SSI după cum urmează:

apoi, în noua stare PHP, acest cod trebuie înlocuit cu:

Ei bine, asta este tot, cred că una dintre metodele de mai sus vă va ajuta.

La Cheat Happens

Cele mai tari lucruri de pe CheatCC!


Cele mai tari lucruri de pe CheatCC!


Selectare nivel

Notă: Această procedură implică editarea unui fișier de joc; creați o copie de rezervă a fișierului înainte de a continua. Utilizați un editor de text pentru a edita fișierul „hitman2.ini” din folderul jocului. Găsiți intrarea „DefaultScene=AllLevels/logos.gms” și schimbați-o în „DefaultScene=AllLevels/levelmenu.gms”. Toate nivelurile vor fi marcate ca finalizate și va fi deblocat un meniu de selectare a nivelurilor.

Salt de nivel

Nota:

", unde este o literă mare. Începeți un joc și treceți la vizualizarea la persoana a treia sau utilizați luneta de lunetist sau binoclul. Apăsați acea tastă și nivelul curent va fi marcat ca finalizat.

Teleportați

Notă: Această procedură implică editarea unui fișier de joc; creați o copie de rezervă a fișierului înainte de a continua. Utilizați un editor de text pentru a edita fișierul „keyboard.cfg” din folderul jocului. Localiza următoarele grup de texte:

Schimbați textul „K_NEXT” în „K_ ", unde este o literă mare. Începeți un joc și treceți la vizualizarea la persoana a treia sau utilizați luneta de lunetist sau binoclul. Apăsați acea tastă și 47 se va teleporta acolo unde țintele sunt pe un teren plat și solid.

Pistol de ballers cu tăcere

Completați cu succes un nivel cu un rang de „Asasin tăcut” pentru a debloca pistolul cu tăcere.

Pușcă tăiată

Completați cu succes un nivel cu un rang „Asasin tăcut” de două ori pentru a debloca pușca tăiată.

M4

Completați cu succes cinci niveluri cu un rang „Asasin tăcut” pentru a obține M4. Alternativ, finalizați cu succes nivelul Shogun Showdown cu un rang „Asasin tăcut”. Alternativ, finalizați cu succes cursul St. Petersburg Stakeout, Tubeway Torpedo și Invitație la o petrecere nivelurile cu un „Asasin tăcut” sunt toate într-o singură sesiune.

Colecția de arme

De-a lungul tuturor nivelurilor, vei întâlni multe tipuri diferite de arme. Ori de câte ori vezi o armă pe care nu o ai deja, ridică-o. După ce ai terminat nivelul la care ai găsit arma, arma va fi acum disponibilă la tine acasă. Veți avea muniție în cameră pentru a le folosi dacă doriți. Cu toate acestea, există multe arme care sunt prea mari pentru a fi purtate în haine și, prin urmare, trebuie ținute în aer liber. Nu veți putea ridica o armă de aceeași dimensiune sau mai mare fără a scăpa cel tine in brate. Veți găsi alte arme la același nivel pe care nu le puteți ridica deoarece aveți deja una, iar arma pe care o doriți este pur și simplu prea mare pentru a fi ascunsă. În acest caz, va trebui să decideți ce armă doriți mai mult, apoi să terminați nivelul cu ea. Puteți relua oricând acel nivel pentru a obține cealaltă armă care a rămas în urmă.

Cheat Codes

Notă: Această procedură implică editarea unui fișier de joc; creați o copie de rezervă a fișierului înainte de a continua. Utilizați un editor de text pentru a edita fișierul „hitman2.ini” din folderul jocului. Adăugați linia „EnableCheats 1” (sensibilă la majuscule și minuscule) în partea de jos a fișierului. Introdu unul dintre următoarele coduri care țin cont de majuscule și minuscule în timpul jocului pentru a activa funcția de cheat corespunzătoare:

Rezultat Cheat Code
Comutați modul Dumnezeu (tastatura SUA)IOIRULEZ
Comutați modul Dumnezeu (tastatură europeană)IOIRULEY
Toate armele și obiecteleIOIGIVE
Muniție completăIOIEQPWEAP
Completați sănătateaIOIHITLEIF
Comută moartea inamicului cu încetinitorulIOISLO
Comutați modul bombăIOIER
Activați perforareaIOIHITALI
Comutați modul letalIOILEPOW
Comutați gravitațiaIOIGRV
Toate pistoalele acționează ca pistoale cu cuieIOINGUN
Comutați armele cu putere megaIOPUTERE

Din: [email protected], [email protected], și [email protected]

Cheat Codes (versiunea demo)

Notă: Această procedură implică editarea unui fișier de joc; creați o copie de rezervă a fișierului înainte de a continua. Utilizați un editor de text pentru a edita fișierul „hitman2.ini” din folderul jocului. Adăugați linia „enableconsole 1” în partea de jos a fișierului. În timpul jocului, apăsați pe ~ , apoi introduceți unul dintre următoarele coduri în fereastra consolei pentru a activa funcția de cheat corespunzătoare:

Rezultat Cheat Code
Comutați modul Dumnezeudumnezeu
Comutați modul de depanareipdebug
Comutați Invizibilitateinvizibil
Muniție infinităinformaţii
Toate armeleda totul