Annulla la registrazione dei tipi di post personalizzati
-
-
QUALUNQUE ALTRO STA CERCANDO QUESTO.Quando registri untipo dipostpersonalizzato,non viene salvatonullanel database.Latabella deipostnel db wpnon è strutturata.È solo registrandoti congliinterni dello script wp chepuoi creare una vocenellatabella deipost coniltipo di ciò che hai creato coni post del registro.Spero che questo aiuti qualcun altro.ANY ONE ELSE SEARCHING THIS . When you register a custom post type nothing is being saved to the database . The posts table in the wp db is unstructured . Its only registering with the internals of the wp script that you can create an entry into the posts table with the type of what ever you created with register posts . Hope that helps some one else .
- 1
- 2016-02-03
- James
-
Apartire da WordPress 4.5esiste unafunzioneperfarlo `unregister_post_type`.Vedere [Annullare la registrazione di untipo di articolo utilizzando unregister_post_type] (http://www.mavengang.com/2016/07/12/unregister-post-type-using-unregister_post_type/)As of WordPress 4.5 there is function to do that `unregister_post_type`. See [Unregister a post type using unregister_post_type](http://www.mavengang.com/2016/07/12/unregister-post-type-using-unregister_post_type/)
- 2
- 2016-07-12
- Dhinju Divakaran
-
5 risposta
- voti
-
- 2016-07-12
Apartire da WordPress 4.5esiste unafunzioneperfarlo,
unregister_post_type
.Esempio: -function delete_post_type(){ unregister_post_type( 'blocks' ); } add_action('init','delete_post_type');
As of WordPress 4.5 there is function to do that,
unregister_post_type
. Example:-function delete_post_type(){ unregister_post_type( 'blocks' ); } add_action('init','delete_post_type');
-
questo deve avere unaprioritàpiù alta rispetto a quella utilizzataper registrareiltipo dipost altrimentinonfunzioneràthis need to be on higher priority then the one used to register the post type otherwise it will not work
- 0
- 2016-07-12
- Mark Kaplun
-
@Dhinju Divakarannon sta cancellandoil vecchiotipo dipost dal db chenon sto usando ora.@Dhinju Divakaran it is not deleting the old post type from db which I am not using now.
- 0
- 2017-02-03
- Faiyaz Alam
-
funziona,assicurati di dare altapriorità a questa azione rispetto all'azione usataper registrareiltipo dipost.its working, make sure you give high priority to this action compare to the action used to register the post type.
- 0
- 2017-05-14
- Ajith R Nair
-
Vale lapena ricordare che `unregister_post_type ()`non cancellanulla dal database.Impedisce solo la registrazione deltipo dipost.It's worth mentioning that `unregister_post_type()` does not delete anything from the database. It only prevents the post type from being registered.
- 1
- 2018-03-03
- Dave Romsey
-
Questo hafunzionato allagrandeperme,matieni presente che dovraiinformare WordPress dellamodifica salvandonuovamente la struttura deltuo Permalinknellapagina Impostazioni -> Permalinks admin.In caso contrario,lepagine conpermalinkin conflittononfunzionano correttamente.This worked great for me, but keep in mind that you'll need to inform WordPress of the change by re-saving your Permalink structure in the Settings -> Permalinks admin page. Otherwise, pages with conflicting permalinks don't work correctly.
- 0
- 2019-02-01
- MarkPraschan
-
- 2010-11-09
Attualmentenonesiste unafunzioneper annullare la registrazione di untipo dipost,ilprocesso è comunque abbastanza semplice.
Andrew Nacin hafornito del codice sutrac,trovato qui e pubblicato di seguito.
if ( ! function_exists( 'unregister_post_type' ) ) : function unregister_post_type( $post_type ) { global $wp_post_types; if ( isset( $wp_post_types[ $post_type ] ) ) { unset( $wp_post_types[ $post_type ] ); return true; } return false; } endif;
L'annullamento della registrazione di untipo dipostintegrato avràeffetti sconosciuti su WordPress,quindifallo atuo rischio. L'annullamento della registrazione di untipo di articolopersonalizzato dovrebbeessereperfettamente sicuro,manaturalmentenoneseguirà alcunapulizia dellatuainstallazione (adesempio,l'annullamento della registrazione di untipo di articolononequivale alla rimozione dei dati dal database).
Possoimmaginare alcuni scenariin cui ciòpotrebbeessere richiesto,ma l'approcciopiù sensato (dovepossibile) sarebbe semplicementenon registrareiltipo dipostin primo luogo senon lo si desidera.
Currently there is not a function for unregistering a post type, the process however is quite simple.
Andrew Nacin provided some code over on trac, found here and posted below.
if ( ! function_exists( 'unregister_post_type' ) ) : function unregister_post_type( $post_type ) { global $wp_post_types; if ( isset( $wp_post_types[ $post_type ] ) ) { unset( $wp_post_types[ $post_type ] ); return true; } return false; } endif;
Unregistering a built-in post type will have unknown effects on WordPress, so please do so at your own risk. Unregistering a custom post type should be perfectly safe, but would naturally do no cleanup on your installation(ie. unregistering a post type does not equate to data removal from the database).
I can imagine a few scenarios where this could be required, but the more sensible approach(where possible), would be to simply not register the post type in the first place if it's not wanted.
-
Seiilbenvenuto .. :) Se stai aggiungendoi tuoiposttypein forma di codice,la soluzionepiù semplice sarebbe rimuovere semplicemente lafunzione/codice cheesegui che li aggiunge.Notainoltre,la rimozione deitipi dipostnon lielimina dallatabella deipost,quindipotresti avere voci ridondantiin quellatabella.You're welcome.. :) If you're adding your own post types in code form, the easier solution would be to simply remove the function/code you run that adds them. Also note, removing post types does not flush them out from your posts table, so you may have redundanct entries in that table.
- 2
- 2010-11-09
- t31os
-
@anu: L'unica cosa che rimane "permanente" senonesegui `register_post_type ()` su ogni caricamento dellapagina (`init`) èprobabilmente la struttura delpermalink (aggiornaloe sparirà),e ipostnel database,chepuoi rimuoverefacendo `DELETE FROM wp_posts WHEREpost_type='[your customposttype]'`.@anu: The only thing that stays "permanent" if you don't execute the `register_post_type()` on each page load (`init`) is probably the permalink structure (refresh it and it will be gone), and the posts in the database, which you can remove by doing `DELETE FROM wp_posts WHERE post_type = '[your custom post type]'`.
- 2
- 2010-11-09
- Jan Fabry
-
Èinteressantenotare che ho rimossoil codice register_post_typeper quel custom_post_typee non avevo aggiunto alcunpost a quel cpt,manon ha rimosso l'interfaccia utente di amministrazione.Interestingly, I did remove the register_post_type code for that custom_post_type, and I hadn't added any posts to that cpt, but it didn't remove the admin UI.
- 0
- 2010-11-09
- anu
-
Ovviamente,ora che ciprovo dinuovo,funziona come voi avete descritto,ovvero l'interfaccia utente di amministrazioneperilnuovo cpt è scomparsa.Probabilmenteio sono unmuppet :) Informazioni utili comunque,quindigrazie.Or course, now that I try this again, it works as you guys described - ie the admin UI for the new cpt has gone. Probably me being a muppet :) Useful info anyway, so thanks.
- 0
- 2010-11-09
- anu
-
Aggiornamento afebbraio 2016: questafunzione è stataincorporatanel coreper WP 4.5.0 (che verrà lanciato ad aprile).Update in Feb 2016 - this function was merged in core for WP 4.5.0 (to be lauched in April).
- 3
- 2016-02-04
- Ricardo BRGWeb
-
Potrebbeessere utileguardareil codiceeffettivo (piuttostobreve) utilizzatoper lafunzione che lo hatrasformatoin core,qui: https://developer.wordpress.org/reference/functions/unregister_post_type/.Fa qualcosa dipiù di questafunzione,anche senon sono sicuro di quando siano stateintrodotte lefunzioni su cui sibasano questimiglioramenti.Might be helpful to look at the actual code (pretty short) used for the function that made it into core, here: https://developer.wordpress.org/reference/functions/unregister_post_type/ . Does a bit more than this function, though I'm not sure when the functions those enhancements themselves rely on were introduced.
-
Lafunzione di rimozione delprogetto CPTpubblicata qui èin conflitto con Divi 3.11.x.Dovrestiessere consapevole di usarlo.The remove Project CPT function posted here conflicts with Divi 3.11.x. You should be aware of using it.
- 0
- 2018-08-02
- Ciro Urdaneta
-
- 2012-01-19
Questo hafunzionatoperme,come ha detto Rarst utilizzando remove_action () sepossibile.
add_action( 'after_setup_theme','remove_foundation_options', 100 ); function remove_foundation_options() { remove_action( 'init', 'Orbit'); }
This worked for me, like Rarst said using the remove_action() if possible.
add_action( 'after_setup_theme','remove_foundation_options', 100 ); function remove_foundation_options() { remove_action( 'init', 'Orbit'); }
-
- 2010-11-09
Comenotato dat31os,èfacile rimuovereiltipo dipost dalla variabileglobale.
Ma seintendi untipo dipostnon core,sarebbemeglio cercareil codice che lo registrae sganciarlo con
remove_action()
(se è un codice decente dovrebbeessere agganciatopiuttosto cheeseguito direttamente).As t31os noted it is easy to remove post type from global variable.
But if you mean non-core post type then it would be better to lookup code that registers it and unhook with
remove_action()
(if it is decent code it should be hooked rather than run directly).-
`register_post_type ()`non è unafunzione che siprestabene all'aggancio.Ilmodonormaleper registrare untipo dipost èeseguire lafunzione direttamentein unafunzione agganciata ainit.La rimozione ditale azionepotrebbe avereeffetti indesiderati,poiché spesso verranno rimosse altrefunzionalità con quellafunzione.`register_post_type()` is not a function that lends itself nicely to hooking. The normal way to register a post type is to run the function directly in a function hooked on init. Removing that action may have undesired effects, as there will often be other functionality removed with that function.
- 2
- 2010-11-09
- John P Bloch
-
@ John P Bloch sì,ne sono consapevole.A voltefinisciper ricostruiretuttoinit perfarlobene,allafine dipende dal codice specificoe dalla sua qualità/sanitàmentale@John P Bloch yep, I am aware of that. Sometimes you end up rebuilding all of init to get it right, in the end it depends on specific code and its quality/sanity
- 0
- 2010-11-09
- Rarst
-
- 2017-07-18
Nella versione 4.5 di WordPresse successiveforniscono unafunzioneper rimuovereiltipo dipost (unregister_post_type). Esempio"
function delete_post_type(){ unregister_post_type( 'jobs' ); } add_action('init','delete_post_type');
Funzioneràin modo definitivo.
In WordPress version 4.5 and above they provide a function to remove post type (unregister_post_type). Example
function delete_post_type(){ unregister_post_type( 'jobs' ); } add_action('init','delete_post_type');
It will work definately.
Qualcuno conosce unmodoper annullare la registrazione deitipi dipostpersonalizzati?
Esiste unequivalente a
register_post_type()
?