Nội dung tải lên phương tiện tùy chỉnh để chèn shortcode bài tùy chỉnh


12

Tôi đang làm việc với một plugin tạo danh mục tùy chỉnh kiểu danh mục đầu tư trực tuyến cùng với shortcode để chèn vào bất kỳ trang hoặc bài đăng nào.

Mã ngắn là: [portfolio option1=“1” option2=“0” option3=“1” ]

Và nó hoạt động tốt, nó hiển thị tất cả các bài viết tùy chỉnh thông qua tùy chỉnh WP_query. Nhưng tôi muốn đi xa hơn.

Tạo một nút tùy chỉnh bên cạnh để upload mediatạo đầu ra shortcode danh mục đầu tư, nơi người dùng có thể chọn bài đăng nào để bao gồm và xác định tất cả các tùy chọn. Vì vậy, đầu ra sẽ là:[portfolio option1=“1” option2=“0” option3=“1” ids=“12,311,432,443,” ]

Đây là mã cho một nút tôi tìm thấy trong wp's media.php:

add_action( 'media_buttons', array( $this, 'media_buttons' ) );

public function media_buttons($editor_id = 'content') {
    $post = get_post();
    if ( ! $post && ! empty( $GLOBALS['post_ID'] ) )
        $post = $GLOBALS['post_ID'];

    wp_enqueue_media( array(
        'post' => $post
        ) );
    $img = '<span class="wp-media-buttons-icon"></span> ';

    echo '<a href="#" id="insert-media-button" class="button insert-media add_media" data-editor="' . esc_attr( $editor_id ) . '" title="' . esc_attr__( 'Add Portfolio' ) . '">' . $img . __( 'Add Portfolio' ) . '</a>';
}

Và nó làm những gì. Nhưng, bây giờ, cách tốt nhất để sửa đổi nội dung của cửa sổ đã tạo là gì? Đây là hình ảnh về cách tôi nhìn thấy nó, tốt hơn là bất kỳ mô tả nào:

nhập mô tả hình ảnh ở đây Làm thế nào có khả năng phức tạp và khó khăn này sẽ được thực hiện? Tôi không biết tôi nên nhìn theo hướng nào, điều đó có khả thi không? Xin vui lòng tư vấn bất kỳ đề nghị tôi nên bắt đầu đào cho giải pháp.

PS: Hoặc có thể tôi đã sai ngay từ đầu và nên cân nhắc sử dụng thickBox? Nhưng tôi muốn giữ giao diện gốc của cửa sổ bật lên phương tiện truyền thông.

Chúc mừng!

BIÊN TẬP:

Chà, có lẽ một giải pháp tốt hơn nhiều là sử dụng mẫu shortcode thư viện riêng. Không khó để thêm một mục menu mới trong cửa sổ tải lên phương tiện, như đã giải thích ví dụ ở đây .

Vì vậy, tầm nhìn cuối cùng là một cái gì đó như thế này:

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Nó phải được thực hiện với Backbone.js tôi tin? Nhưng câu hỏi chính, nó có thể thao tác bài viết tùy chỉnh thay vì hình ảnh?


1
Tôi nghĩ có lẽ không nên sử dụng trình chỉnh sửa phương tiện để quản lý các bài đăng tùy chỉnh. Bạn không thể tạo một loại mime đính kèm mới được gọi là "portfolio" và tạo các phòng trưng bày danh mục đầu tư với quản lý trình biên tập và mã ngắn hiện có?
Fabien Quatravaux

Cảm ơn @FabienQuatravaux, tôi không chắc tôi hiểu cách thức hoạt động của nó, nhưng bây giờ tôi sẽ điều tra theo hướng này, bạn có thể giới thiệu một số cách đọc không?
Nikita

Loại bài tùy chỉnh chính xác được sử dụng để làm gì? Bạn có sử dụng loại bài đăng tùy chỉnh chỉ vì nó chèn menu thích hợp trong khu vực quản trị? Làm thế nào để bạn liên kết hình ảnh với một bài đăng danh mục đầu tư (như trong ảnh chụp màn hình của bạn)?
Fabien Quatravaux

Tôi đã sử dụng loại mime đính kèm tùy chỉnh trong plugin Twikin của mình , nhưng tôi không chắc nó hoàn toàn phù hợp với bạn trong trường hợp sử dụng của bạn.
Fabien Quatravaux

Câu trả lời:


1

nhập mô tả hình ảnh ở đây

Hãy xem hướng dẫn của tôi ở đây - http://www.wpexplorer.com/wordpress-tinymce-tweaks/ - để bạn có thể xem cách tạo cửa sổ bật lên nơi bạn có thể chọn tùy chọn của mình hơn là chèn mã ngắn. Nếu bạn tải xuống plugin Free Symple Shortcodes của tôi, bạn cũng có thể thấy triển khai trực tiếp.

Thay vì yêu cầu người dùng chọn các bài đăng để chèn thay vào đó hãy thêm phân loại Danh mục vào danh mục đầu tư của bạn để người dùng có thể sắp xếp các mục thành các danh mục. Sau đó, bạn có thể có một menu thả xuống đơn giản trong cửa sổ bật lên để người dùng chọn danh mục để kéo bài đăng từ đó.

Điều này dễ dàng hơn nhiều cho người dùng cuối trong việc quản lý trong tương lai vì họ chỉ cần thêm bài đăng của mình vào danh mục và shortcode sẽ tự động hiển thị chúng mà không phải cập nhật thủ công shortcode để bao gồm các bài đăng mới.

  • À
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.