誰もが "Publish,save draft,and preview button
"を含むカスタムボックスの作り方を知っていますか?公開ボタン以外のすべてのボタンを非表示にします。また、 "change permalink
"と同じ投稿内の "view,delete,edit
"リンクで、パーマリンクを非表示にしてリンクを表示する方法は?
ここで私が話しているのはイラストです。
オリジナルのWordpressから発行ボタンをカスタマイズする
元のワードプレスからの投稿リンクのカスタマイズ
ワードプレスの記事のタイトルの下にあるパーマリンクを削除する
あなたはフックを使って上記を達成することができます。この作品を入手するには、アクティブテーマのfunctions.php
ファイルにある以下のコードを使用してください。
ワードプレスの記事のタイトルの下にあるパーマリンクを削除する
add_filter( 'get_sample_permalink_html', 'wpse_125800_sample_permalink' );
function wpse_125800_sample_permalink( $return ) {
$return = '';
return $return;
}
元のワードプレスからの投稿リンクのカスタマイズ
add_filter( 'page_row_actions', 'wpse_125800_row_actions', 10, 2 );
add_filter( 'post_row_actions', 'wpse_125800_row_actions', 10, 2 );
function wpse_125800_row_actions( $actions, $post ) {
unset( $actions['inline hide-if-no-js'] );
unset( $actions['view'] );
return $actions;
}
オリジナルのWordpressから発行ボタンをカスタマイズする
以下に改善の余地があります、私はフックが次のことをすることができなかったので、それを隠すためにcss方法を使いました。
global $pagenow;
if ( 'post.php' == $pagenow || 'post-new.php' == $pagenow ) {
add_action( 'admin_head', 'wpse_125800_custom_publish_box' );
function wpse_125800_custom_publish_box() {
if( !is_admin() )
return;
$style = '';
$style .= '<style type="text/css">';
$style .= '#edit-slug-box, #minor-publishing-actions, #visibility, .num-revisions, .curtime';
$style .= '{display: none; }';
$style .= '</style>';
echo $style;
}
}
ノート
私の場合は追加の条件付きステートメント、ここで私はすでに条件付きステートメントを解決しました
global $pagenow;
if( 'edit.php' == $pagenow && isset($_GET['page_type']) == 'my-custom-post' ){
// here i use delete post row function that explained by Maruti Mohanty on my custom post
}
新しい投稿およびカスタムパブリッシュメタボックス設定を追加するための条件付きステートメント
global $pagenow;
if( 'page-new.php' == $pagenow && isset($_GET['page_type']) == 'my-custom-post' ){
// here i use add new post and custom publish metabox function
}
他に説明があれば教えてください。
ありがとうございます。
私はこの質問に出くわしただけで、すべてのシナリオで誰にもうまくいかない可能性がある最も一般的な解決策を共有したいと思いましたが、これが望ましい結果を得るための最も効率的な方法だと思います。
テーマまたはプラグインにシングルビュー出力を必要としないCPTを登録するときは、単にプロパティ'public' => false,
を定義します。
たとえば、一般的なCPT登録は次のようになります。
<?php
/**
* Custom Post Type: cw-programs (programs)
* Theme: Your Custom Theme
* Desc: A custom WP theme
*
* @package custom-wp-theme
* @since 1.0.0
* @version 1.0.0
*/
function mycpt_content_type_name() {
$labels = array(
'name' => __( 'My CPT'),
'singular_name' => __( 'My CPT' ),
'add_new' => _x('Add New', 'My CPT'),
'add_new_item' => __('Add New My CPT'),
'edit_item' => __('Edit My CPT'),
'new_item' => __('New My CPT'),
'view_item' => __('View My CPT'),
'search_items' => __('Search My CPT'),
'not_found' => __('No My CPT found'),
'not_found_in_trash' => __('No My CPT found in Trash'),
);
$args = array(
'labels' => $labels,
'menu_icon' => 'dashicons-clipboard',
'public' => false,
'publicly_queryable' => false,
'show_ui' => true,
'query_var' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => null,
'rewrite' => array('slug' => __( 'mycpt' )),
'supports' => array('title', 'editor'),
'show_in_menu' => false
);
register_post_type(__( 'cw-program' ),$args);
}
add_action( 'init', 'mycpt_content_type_name' );
一挙に、これはすべての関連する管理画面からビュー、スラッグ、プレビュー変更リンクを削除する必要があります。私はこの解決策が好きです。追加の機能を必要とせず、ロジックはあなたのcptと同じ場所で定義されているからです(明らかに)。これが他の人々に役立つことを願い、同様の解決策を模索します。