WP Manifestindependent plugin directory
manifest / social / wp-plugin_linkedin-feed-pro

LinkedIn Feed Pro

Plugin WordPress per integrare e visualizzare i post LinkedIn (Company Page o profili autorizzati) tramite API ufficiali LinkedIn.

by LeaseCredi · github.com/f4rizzo/wp-plugin_linkedin-feed-pro · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/f4rizzo/wp-plugin_linkedin-feed-pro/archive/refs/heads/main.zip

Plugin WordPress per integrare e visualizzare i post LinkedIn (Company Page o profili autorizzati) tramite API ufficiali LinkedIn.

Cosa fa il plugin

  • Gestisce autenticazione OAuth 2.0 (Authorization Code) verso LinkedIn.
  • Salva in WordPress:
    • Client ID
    • Client Secret
    • Author URN (es. urn:li:organization:123456)
  • Salva laccess token in modo protetto (cifrato quando OpenSSL e disponibile).
  • Monitora scadenza token e mostra admin notice quando il token sta per scadere o e scaduto.
  • Recupera feed tramite:
    • endpoint /v2/posts
    • fallback /v2/shares (in base ai permessi)
  • Estrae i campi principali: testo, data, lifecycle state, contenuto/immagini/link.
  • Implementa cache con WP Transients API (12 ore).
  • Gestisce errori API con log in debug.log (401 e 429 in modo esplicito).
  • Espone shortcode [li_feed] con rendering frontend responsive.
  • Supporta override template da tema:
    • your-theme/linkedin-feed-pro/feed-view.php
  • Aggiunge azione admin: Svuota Cache e Sincronizza Ora.

Requisiti

  • WordPress 6.0+
  • PHP 8.0+
  • App LinkedIn Developer configurata
  • HTTPS sul dominio del sito (fortemente consigliato)

Installazione

  1. Copia la cartella linkedin-feed-pro in wp-content/plugins/.
  2. Vai in WordPress -> Plugin.
  3. Attiva LinkedIn Feed Pro.
  4. Vai in Impostazioni -> LinkedIn Feed Pro.

Configurazione passo passo (LinkedIn + WordPress)

Step 1 - Crea l`app LinkedIn

  1. Apri https://developer.linkedin.com.
  2. Vai su My apps.
  3. Clicca Create app e compila i dati richiesti:
    • App name
    • LinkedIn Page associata
    • Privacy policy URL
    • Logo

Nota: in alcuni casi LinkedIn richiede verifica della pagina associata prima di usare determinate API.

Step 2 - Configura Auth nell`app LinkedIn

  1. Apri la tua app.
  2. Vai nella sezione Auth.
  3. Copia:
    • Client ID
    • Client Secret
  4. Nella lista redirect URL, aggiungi esattamente questo URL:
https://TUO-DOMINIO/wp-admin/admin-post.php?action=lfp_linkedin_callback

Sostituisci TUO-DOMINIO con il dominio reale del sito.

Step 3 - Configura il plugin in WordPress

  1. In Impostazioni -> LinkedIn Feed Pro inserisci:
    • Client ID
    • Client Secret
    • Author URN (per ora puoi lasciarlo vuoto, lo recuperi allo step successivo)
  2. Salva.

Step 4 - Recupera Author URN corretto

Dal portale LinkedIn Developer usa Docs & Tools -> OAuth Token Tools .

  1. Apri OAuth Token Tools.
  2. Seleziona la tua app.
  3. Avvia il flow OAuth e ottieni un access token temporaneo.
  4. Esegui la chiamata API seguente:
curl -X GET 'https://api.linkedin.com/rest/organizationAcls?q=roleAssignee&role=ADMINISTRATOR&state=APPROVED' \
  -H 'Authorization: Bearer TUO_TOKEN' \
  -H 'X-Restli-Protocol-Version: 2.0.0' \
  -H 'Linkedin-Version: 202601'
  1. Nel JSON cerca il valore organization (esempio urn:li:organization:123456).
  2. Inserisci quell'URN nel campo Author URN nel plugin e salva.

Se devi usare un profilo persona, usa l'URN persona (urn:li:person:...) supportato dalla tua app e dai tuoi permessi.

Nota pratica: la chiamata API va eseguita fuori da WordPress in un client HTTP.

  • Metodo consigliato: Terminale (Mac/Linux) con curl.
    • Apri Terminale.
    • Incolla questo comando (sostituisci TUO_TOKEN):
    • Premi invio.
    • Nel JSON cerca organization, ad esempio urn:li:organization:123456. Quello va nel campo Author URN del plugin.
  • Alternativa: Postman o Insomnia, impostando gli header richiesti.
    • Metodo: GET
    • URL: stesso della curl
    • Headers:
      • Authorization: Bearer TUO_TOKEN
      • X-Restli-Protocol-Version: 2.0.0
      • Linkedin-Version: 202601
  • Browser: non consigliato perche non gestisce facilmente gli header Authorization e X-Restli-Protocol-Version.

Step 5 - Connetti il plugin a LinkedIn

  1. In Impostazioni -> LinkedIn Feed Pro clicca Connetti con LinkedIn.
  2. Completa autorizzazione su LinkedIn.
  3. Al ritorno in WordPress verifica stato connessione:
    • Verde: Connesso
    • Rosso: Non autorizzato

Step 6 - Test feed e cache

  1. Inserisci shortcode in pagina/articolo:
[li_feed]

Opzionale limite:

[li_feed limit="6"]
  1. Pubblica la pagina e verifica i post.
  2. Per forzare aggiornamento usa il pulsante:
    • Svuota Cache e Sincronizza Ora

Funzionamento cache

  • Il feed viene salvato in transient per 12 ore.
  • Durante la cache valida il plugin non richiama LinkedIn a ogni refresh.
  • Il refresh manuale elimina il transient e sincronizza subito.

Override template frontend

Per personalizzare HTML/CSS senza toccare il plugin:

  1. Crea nel tema la cartella:
your-theme/linkedin-feed-pro/
  1. Copia il file plugin templates/feed-view.php dentro la cartella tema.
  2. Modifica il file nel tema.

Il plugin usera automaticamente il template del tema se presente.

Sicurezza implementata

  • Blocco accesso diretto ai file (ABSPATH).
  • Verifica capability manage_options nelle azioni admin.
  • Nonce check in ogni form/azione di salvataggio/invio sensibile.
  • Sanitizzazione input settings.
  • Escape output in admin e frontend.

Troubleshooting rapido

  • invalid_redirect_uri
    • Il redirect URI nell`app LinkedIn non combacia al 100% con quello del plugin.
  • unauthorized_scope_error
    • La tua app non ha i permessi/scope richiesti.
  • HTTP 401
    • Token scaduto o non valido. Riconnetti il plugin.
  • HTTP 429
    • Rate limit LinkedIn raggiunto. Attendi e riprova.
  • Feed vuoto
    • Verifica Author URN, scope autorizzati e presenza post pubblicati.

Debug log WordPress

Per vedere errori API nel file log:

  1. In wp-config.php abilita:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
  1. Controlla wp-content/debug.log.

Riferimenti utili

Note

Le policy e i permessi LinkedIn possono cambiare nel tempo. Se una chiamata smette di funzionare, ricontrolla nel portale developer:

  • prodotti abilitati
  • scope concessi
  • stato approvazione app
  • compatibilita endpoint/version header