web-dev-qa-db-fra.com

Attribuer un lien permanent aux types de publication personnalisés sans titre

J'ai un "rapport" Type de message personnalisé enregistré de cette manière:

register_post_type(
    'report',
    array(
        'label' => 'Reports',
        'description' => '',
        'public' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'rewrite' => array('slug' => ''),
        'query_var' => true,
        'exclude_from_search' => false,
        'supports' => array('custom-fields','comments','author',),
        ...
    )
);

Comme vous pouvez le constater, ma report ne prend pas en charge title, mais uniquement custom-fields, comments et author:

'supports' => array('custom-fields','comments','author',)

Hovewer, étant donné que le permalien d’un message ressemble normalement à:

http://mywebsitename.com/report/the-title

maintenant je reçois toujours quelque chose comme:

 http://mywebsitename.com/report/auto-draft/

Je suppose que "auto-draft" est le titre donné par défaut à mon rapport. Je ne sais pas comment donner un permalien raisonnable. Je voudrais donner un basé sur le custom-fields.

1
User
I have no idea how to give a reasonable permalink.

Donnez-lui un titre. Vous ne devez utiliser le titre que pour le permalien, et il sera très probablement utilisé dans le titre de la page, mais comme il est déjà exposé dans le permalien, je ne vois pas le mal. Vous ne devez jamais l’imprimer ailleurs si vous ne le souhaitez pas. Ne pas être orné, mais c'est la solution évidente et puis tout tombe plus ou moins en place.

"titre" n'est pas quelque chose que vous pouvez facilement désactiver. Comment identifiez-vous les rapports sur l'écran "modifier" par exemple? Ceux-ci devraient probablement tous dire "auto-draft" aussi, non? Ou quelque chose d'assez proche? Le titre de la page - sur cette page, il ressemble à "Développement du plugin - Attribuer un lien permanent à ..." - est généralement défini sur le titre de l'article ou dérivé de celui-ci. Cela apparaît dans la plupart des résultats des moteurs de recherche, vous avez donc vraiment besoin d’un titre décent si vous voulez que le film soit exposé au public. Si vous ne cherchiez pas à avoir les permaliens, ce serait différent. Vous devez écrire votre propre interface pour afficher les rapports, mais au moins certains des problèmes ne se produiraient pas.

Si vous le souhaitez vraiment, vous pouvez probablement définir le slug manuellement en vous connectant au filtre save_post et obtenir un permalien décent. Je ne pense pas que cela aidera avec l'écran d'administration ou avec le titre de la page. Vous devriez aussi pouvoir utiliser le slug le slug dans le panneau d'édition de l'administrateur, mais c'est plus de code à écrire.

Veuillez reconsidérer votre décision de ne pas utiliser le titre. Cette décision vous coûte beaucoup de travail et je ne vois pas les avantages.

1
s_ha_dum