Rilevare la larghezza dello schermo nelle funzioni
Sto cercando un modo per aggiungere A prima del menu se siamo su desktop e aggiungere B se siamo su un dispositivo mobile.
Questo è il codice delle mie funzioni per A e B:
add_action( 'wp_head', 'A_function' );
function A_function() {
//aggiungi A
}
add_filter( 'wp_nav_menu_items', 'B_function', 10, 2 );
function B_function() {
//aggiungi B
}
So che devo inserire questi hook nel file functions.php ma non so come fare, so che possiamo usare wp_is_mobile()
.
Come posso ottenere questo risultato?

Secondo il codex, wp_is_mobile();
è una funzione booleana che restituisce true se l'utente sta visitando il sito da un dispositivo mobile, quindi quello che ti serve è:
if ( wp_is_mobile() ) {
// Esegui questo solo per i visitatori da mobile
add_filter( 'wp_nav_menu_items', 'B_function', 10, 2 ); function B_function(/* aggiungi B */ );
} else {
// Se non siamo su mobile, esegui questo filtro
add_action( 'wp_head', 'A_function' ); function A_function(/* aggiungi A */);
}

idea pessima, non è affidabile, rompe la cache, non è responsive e probabilmente ha altri attributi negativi

@MarkKaplun Beh, non riesco a pensare a nessun altro metodo lato server per farlo, e non credo che potremo farlo via AJAX visto che i filtri vengono già applicati dopo il caricamento della pagina? Dobbiamo scegliere tra il male e il peggio (qui non si applica il termine "cattivo")

Il codice PHP di WordPress viene eseguito lato server — non è e non può essere consapevole dello schermo del dispositivo del client.
wp_is_mobile()
si basa sull'user agent sniffing, ovvero cerca di confrontare i dati forniti dal browser del client. Questa tecnica è considerata notoriamente inaffidabile e di utilità molto limitata.
Poiché non fornisci il contesto sullo scopo dei tuoi link, è difficile consigliare un approccio adatto. Le tecniche lato client, come le media query CSS, sono comunemente utilizzate per un rilevamento affidabile del contesto nel browser del client.

wp_is_mobile()
non dovrebbe mai essere utilizzato. Al momento attuale, la sua esistenza è principalmente legata ad alcuni bug del browser che devono essere gestiti lato amministrativo.
Per qualsiasi cosa che necessiti di essere consapevole della dimensione fisica del dispositivo o della dimensione della finestra del browser, dovrebbe essere fatto con regole media in CSS e JavaScript.

Penso che il problema sia che l'OP sta cercando di aggiungere contenuto HTML in base all'user agent, il che renderebbe il CSS obsoleto. Potrei solo pensare di inserire l'intero codice in un file JavaScript e gestire il problema lì.
