web-dev-qa-db-fra.com

register_post_type nom nombre de caractères

J'ai besoin de créer un nouveau type de message personnalisé, mais le problème que je rencontre est que le nom que je veux donner dépasse 20 caractères.

Est-il possible de remplacer ceci par un crochet ou un filtre?

J'ai essayé de modifier ce fichier dans wp-includes post.php sur la ligne 1237 (strlen > 20), mais cela a supprimé le bouton Publier et le remplacer par Soumettre pour révision.

Toute idée de comment je résous ce problème.

réservoirs.

1
TheDeveloper

Vous ne pouvez pas changer cette valeur. Le schéma de base de données est limité à 20 octets. Voir wp-admin/includes/schema.php:

TABLE $ wpdb-> posts (
 ID bigint (20) non signé NOT NULL auto_increment, 
 Post_author bigint (20) non signé NOT NULL par défaut '0', 
 Post_date datetime NON NULL par défaut '0000-00-00 00:00:00', 
 Post_date_gmt datetime NOT NULL par défaut '0000-00-00 00:00:00', 
 Post_content texte long NON NULL, 
 post_title text NOT NULL, 
 post_excerpt texte NOT NULL, 
 post_status varchar (20) NOT NULL par défaut 'publier', 
 comment_status varchar (20) NON NULL par défaut 'ouvert', 
 ping_status varchar (20) NOT NULL par défaut 'open', 
 post_password varchar (20) NOT NULL par défaut '', 
 post_name varchar (200) NOT NULL par défaut '', 
 to_ping text NOT NULL, 
 texte ping en NOT NULL, 
 post_modified datetime NOT NULL par défaut '0000-00-00 00:00:00', 
 post_modified_gmt datetime NOT NULL par défaut '0000-00-00 00:00:00', 
 Post_content_filtered texte long NOT NULL, 
 Post_parent bigint (20) non signé NOT NULL defaul t '0', 
 guid varchar (255) NOT NULL par défaut '', 
 menu_order int (11) NOT NULL par défaut '0', 
 post_type varchar (20) NOT NULL par défaut 'post',
 post_mime_type varchar (100) NOT NULL par défaut '', 
 comment_count bigint (20) NON NULL par défaut '0', 
 PRIMARY KEY (ID), 
 KEY post_name (post_name), 
 KEY type_status_date (type_post, post_status, post_date, ID), 
 KEY post_parent (post_parent), [.________.

Si vous avez besoin de slugs plus longs dans vos URL , vous pouvez le faire avec l'argument rewrite:

register_post_type( 
    'yxz123', 
    array (
        'rewrite' => array (
            'slug'       => _x( 'really-long-slug', 'slug', 'custom_plugin_textdomain' ),
            'with_front' => FALSE
        ),
    ) 
);
1
fuxia