В основном я пишу плагин для создания слайдеров. После установки этого плагина он создает настраиваемый тип сообщений, называемый «слайдеры», и заполняет их ACF.
Я также создал шорткод для отображения слайдера на страницах/сообщениях. Шорткод работает следующим образом -> [slider id=12] , и это отобразит слайдер с идентификатором 12.
Что я пытаюсь найти способ отображения шорткода в области администратора, который пользователи могут просто скопировать вместо того, чтобы искать идентификационный номер. Вот пример.
Спасибо.
@ Джинеш, да. Шорткод уже создается. Мне просто нужен способ отобразить шорткод где-нибудь в админке, где пользователи смогут копировать и использовать его.
есть этот шорткод для последней версии wordpress?
Я думаю, что если вы используете wordpress 5.2, вам нужно создать собственный блок для достижения ваших требований.






Предполагая, что sliders — это ваш слаг CPT, вы можете использовать manage_sliders_posts_columns, чтобы добавить заголовок столбца.
add_filter('manage_sliders_posts_columns', 'wpso_custom_columns_head');
function wpso_custom_columns_head($defaults) {
$defaults['shortcode'] = 'Shortcode';
return $defaults;
}
После добавления заголовка столбца теперь нам нужно добавить содержимое для столбца. Используйте крючок manage_sliders_posts_custom_column. Используя это, вы можете повторить шорткод.
add_action('manage_sliders_posts_custom_column', 'wpso_custom_columns_content', 10, 2);
function wpso_custom_columns_content( $column_name, $post_ID ) {
if ( 'shortcode' === $column_name ) {
echo '[shortcodename id = "' . $post_ID . '"]';
}
}
Отображать метку/заголовок пользовательского поля
add_filter( "manage_{$post_type}_posts_columns", array( $this, 'manage_columns' ) );
public function manage_columns( $columns ) {
$new_columns = array();
$new_columns['cb'] = '<input type = "checkbox" />';
$new_columns['title'] = esc_html__( 'Slider Name', 'wp-quiz' );
$new_columns['shortcode'] = esc_html__( 'Shortcode', 'wp-quiz' );
$new_columns['date'] = esc_html__( 'Date', 'wp-quiz' );
return $new_columns;
}
Показать шорткод каждого слайдера
add_action( "manage_{$post_type}_posts_custom_column", array( $this, 'manage_column_data' ), 10, 2 );
public function manage_column_data( $column, $post_id ) {
echo '<div class = "field"><input type = "text" readonly value = "' . esc_html( '[wp_slider id="' . $post_id() . '"]' ) . '" onClick = "this.select();" style = "width:100%;"></div>';
}
Вы также можете проверить на codex.wordpress.org по ссылке нижеhttps://codex.wordpress.org/Plugin_API/Action_Reference/manage_$post_type_posts_custom_column
вы хотите скопировать свой короткий код, и администратор может вставить его в сообщение и на страницу, а затем отобразить слайдер, я прав?