Un utente ha chiesto informazioni su WPAdverts - Classifieds Plugin di Wordpress

Posta privata

Un utente ha chiesto ūüĎá

Ho un’altra cosa che sarebbe fantastico aiutare.
Quindi devo fare quanto segue:
Quando una persona fa un annuncio deve essere in grado di gestirlo e modificarlo, MA nel frattempo deve essere costretta ad essere accessibile ad altri utenti (anche con un collegamento URL diretto al post). Il motivo dei post che vedi √® limitato a un’area entro 25 miglia (ho gi√† aggiunto il mio plug-in e collegamento personalizzato che lo fa e funziona alla grande con esso), ma ora puoi accedere agli annunci al di fuori di quell’area se l’URL √® diretto. Capisco che questo dovrebbe essere abbastanza facile da risolvere. Sono felice di farlo anche nel mio plugin di codice PHP. Qualunque cosa funzioni, mi piace ūüôā

Oh, e ho gi√† provato un moderato = “1”, ma questo impedisce all’utente di modificare il suo post se lo desidera da quello che posso dire.

Grazie!
Questo progetto sta arrivando, solo poche settimane prima che andiamo in diretta.

Questo argomento è stato modificato 1 anno, 3 mesi fa da.

Autore del plugin

(@gwin)

1 anno, 3 mesi fa

Ciao,
scusa, ma non sei sicuro di cosa vuoi fare esattamente?

Gli utenti possono modificare gli annunci inattivi dalla pagina con [adverts_manage] scorciatoia. Se desideri impedire l’accesso ad alcuni annunci, puoi farlo ad esempio nell’azione template_redirect


add_action( "template_redirect", function() {
  $user_can_see_advert = true;
  if( is_singular( 'advert' ) && ! $user_can_see_advert ) {
    wp_redirect( "https://link/to/some/other/page" );
    exit;
  }
} );

Tutto quello che devi fare √® cambiare la linea $user_can_see_advert = true; con un codice per verificare se l’utente pu√≤ la Notifica e il “https: // link / to / share / other / page & # 8221; collegamento a un collegamento che reindirizza a utenti senza accesso valido.

Lanciatore di thread

(@kpmediadesigner)

1 anno, 3 mesi fa

Va bene, grazie per quel pezzo di codice. Tuttavia, l’utente non pu√≤ ancora modificare. Vado alla pagina di gestione degli annunci e viene visualizzato questo messaggio:
“Non hai ancora notifiche pubblicate.”

Ma se cambio la notifica che ho appena inviato da “Stato: in attesa di revisione” a “Stato: Pubblicato”, appare sulla stessa pagina al momento del rinnovo. Se posso lasciare che l’utente lo modifichi ancora in attesa di una revisione, questo √® fondamentalmente quello che sto cercando.

Lanciatore di thread

(@kpmediadesigner)

1 anno, 3 mesi fa

Vorrei provare a renderlo molto chiaro:
– Vorrei consentire al poster dell’annuncio (per chiamarlo Bill) di fare un lavoro.
-Bill vede solo il post anche se vuole condividerlo.
-Bill pu√≤ tornare indietro e modificare il post per compilare un campo che richiede un altro nome utente (lascia che l’utente Joe lo chiami).
-Quando Bill inserisce il nome utente di Joe, Joe diventa il nuovo autore del messaggio di notifica, quindi Joe può apportare modifiche. (Lo sto facendo in un raccoglitore personalizzato).
– Joe pu√≤ quindi contrassegnare il post per visibilit√† pubblica. (Posso fare questa parte da solo, quindi la cosa deve essere contrassegnata per essere pubblica, ma se hai un modo carino e pulito per farlo, sono tutt’orecchi).

So che sembra strano, ma una volta fatto ha perfettamente senso. Mi chiedevo se è possibile richiedere il campo solo per mostrare un nome utente dopo aver già pubblicato il post e tornare indietro in modifica (nome utente Joe in questo caso).

Gli utenti pagati fondamentalmente devono prendere possesso degli utenti gratuiti (Joe √® un utente pagato e Bill √® gratuito) prima che il post sia pubblico. Questo √® comunque l’obiettivo.

Questa risposta è stata modificata 1 anno, 3 mesi fa. Questa risposta è stata modificata 1 anno, 3 mesi fa. Autore del plugin

(@gwin)

1 anno, 3 mesi fa

Ciao,
OHh ok, quindi se ho capito bene il problema principale √® che l’annuncio non appare nel file [adverts_manage] sebbene sia assegnato all’utente?

In tal caso, puoi aggiungere lo stato “In attesa di revisione” all’elenco degli stati visualizzati in [adverts_manage] aggiungendo il codice seguente nel file functions.php del tema


add_filter( "adverts_sh_manage_list_statuses", function( $list ) {
  $list[] = "pending";
  return $list;
} );

Un campo username pu√≤ essere visualizzato condizionatamente anche se non mi √® chiaro esattamente quando deve essere visualizzato, dalla descrizione capisco che dovrebbe essere visto solo Bill e non appena assegna l’annuncio a Joe il campo username non √® pi√Ļ richiesto?

Come dovrebbero sapere i WPAdverts se l’utente √® pagato o gratuito?

Lanciatore di thread

(@kpmediadesigner)

1 anno, 3 mesi fa

Quel codice tagliato è perfetto. Sì, era tutto ciò di cui avevo bisogno allora.

Quindi vorrei che il campo mostrasse un nome utente solo dopo che il post è stato effettivamente creato. Se lo stanno aggiungendo per la prima volta e non è già salvato nel database non voglio mostrarlo (poiché ha lo scopo di giustificare Joe, e non ha senso consegnare il tuo post prima che il post ci sia davvero Sto pensando).

Quando BIll far√† il lavoro, ho una scorciatoia che informer√† Joe che qualcuno nella sua zona ha fatto il lavoro. Joe contatter√† quindi Bill tramite le informazioni fornite nell’avviso e gli comunicher√† di inserire e giustificare il suo nome utente. Il campo quindi prima di questo punto potrebbe confondere i nuovi utenti, quindi voglio nasconderlo.

Questa risposta è stata modificata 1 anno, 3 mesi fa. Lanciatore di thread

(@kpmediadesigner)

1 anno, 3 mesi fa

Oh, e per rispondere alla tua domanda sugli utenti a pagamento, sto usando il plug-in del generatore di profili che √® un componente aggiuntivo di abbonamento a pagamento, quindi trascino i metadati con $ wpdb per ottenere l’abbonamento utente da ID.

Autore del plugin

(@gwin)

1 anno, 3 mesi fa

Ciao,
ok, quindi fondamentalmente il campo Nome utente dovrebbe essere solo nel file [adverts_manage] in quanto gli utenti devono modificare la notifica solo dopo la pubblicazione.

In tal caso, puoi solo aggiungere il campo di modifica utilizzando il codice sottostante


add_filter( "shortcode_atts_adverts_manage", function( $args ) {
  add_filter( "adverts_form_load", "custom_username_field" );
  return $args;
} );
function custom_username_field( $form ) {
  if( $form['name'] != "advert" ) {
    return $form;
  }
  $form["field"][] = array(
    "name" => "adverts_custom_username",
    "type" => "adverts_field_text",
    "order" => 12,
    "label" => __( "Username", "adverts" ),
  );
  return $form;
}

Lanciatore di thread

(@kpmediadesigner)

1 anno, 3 mesi fa

Sei il migliore! Grazie.
Solo per il futuro, c’√® da qualche parte nella documentazione di cui posso essere sicuro? Voglio provare a capirlo, quindi non continuo a disturbarti. Un modo o un supporto eccellente.

Autore del plugin

(@gwin)

1 anno, 3 mesi fa

Ecco come personalizzare i moduli
https://wpadverts.com/documentation/forms-api/
https://wpadverts.com/documentation/custom-fields/

L’IS shortcode_atts_{$shortcode_name} √ą un filtro WP standard che viene eseguito su tutti i parametri di scelta rapida che si sono rivelati utili in questo caso :).

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *