WordPress și Parametrii $_GET
Aceasta este o problemă neobișnuită pe care nu am mai întâlnit-o până acum cu WordPress.
Am un site cu permalinks activate.
URL-ul poate fi http://mysite.com/page-name/?anyParamName=testing
apoi când folosesc print_r($_GET);
sau echo $_GET["anyParamName"]
primesc un array gol sau nimic în mod respectiv.
Un fișier PHP simplu funcționează bine, deci nu este o problemă de server. WordPress face ceva cu redirecționarea parametrilor get? Sunt foarte nedumerit de această situație.

Pentru parametri personalizați, trebuie să îi înregistrați în WordPress:
add_action('init','wpse46108_register_param');
function wpse46108_register_param() {
global $wp;
$wp->add_query_var('anyParamName');
}
Apoi valoarea parametrului 'anyParamName' poate fi obținută cu funcția get_query_var
$anyParamNameValue = get_query_var('anyParamName');

Adevărat, dar ar putea extrage valoarea înainte ca $_GET
să fie golit de un plugin/temă (presupunând că asta se întâmplă).

știu că aceasta este o întrebare veche, dar putem accesa liber orice parametri post/get în interiorul hook-ului 'init', (înainte ca WordPress să le modifice) și asta este documentat aici, uite:
add_action( 'init', 'process_post' );
function process_post() {
if( isset( $_POST['unique_hidden_field'] ) ) {
// procesează datele $_POST aici, citește și modifică după cum dorești
}
}

Pentru a putea adăuga și lucra cu propriile variabile personalizate de interogare pe care le atașați la URL-uri (ex: "http://example.com/some_page/?my_var=foo"
- de exemplu, folosind add_query_arg()) trebuie să le adăugați la variabilele de interogare publice disponibile pentru WP_Query. Acestea sunt construite atunci când WP_Query este instanțiat, dar din fericire sunt trecute printr-un filtru 'query_vars' înainte de a fi folosite pentru a popula proprietatea $query_vars a WP_Query.
Deci, pentru a expune noua variabilă de interogare personalizată către WP_Query, conectați-vă la filtrul 'query_vars', adăugați variabila de interogare în array-ul $vars care este transmis de filtru și nu uitați să returnați array-ul ca rezultat al funcției de filtrare. Vedeți mai jos:
function add_query_vars_filter( $vars ) {
$vars[] = "my_var";
return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );
Pentru detalii suplimentare, vă rugăm să consultați https://codex.wordpress.org/Function_Reference/get_query_var

Am avut aceeași problemă:
- pagina pe care am accesat-o avea permalink-ul /focus.
- folderul principal avea un subfolder cu același nume (focus).
Pagina corectă era încărcată (nu folderul), dar parametrii _GET erau goi. Am redenumit folderul (în sistemul de fișiere) și acum array-ul _GET primește valorile așteptate.
