Niestandardowe przesyłanie multimediów w celu wstawienia niestandardowego kodu krótkiego

12

Pracuję nad wtyczką, która tworzy niestandardowe „portfolio” typu posta wraz z krótkim kodem do wstawienia na dowolnej stronie lub postu.

Krótki kod to: [portfolio option1=“1” option2=“0” option3=“1” ]

I działa dobrze, pokazuje wszystkie niestandardowe posty za pośrednictwem niestandardowego WP_query. Ale chcę iść dalej.

Utwórz niestandardowy przycisk obok upload mediagenerowania wyjściowego kodu krótkiego portfela, w którym użytkownik może wybrać, który post ma zostać uwzględniony, i zdefiniować wszystkie opcje. Tak więc wynik będzie:[portfolio option1=“1” option2=“0” option3=“1” ids=“12,311,432,443,” ]

Oto kod przycisku, który znalazłem w wp. 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>';
}

I robi to, co robi. Ale teraz, jaki jest najlepszy sposób na modyfikację zawartości utworzonego okna? Oto zdjęcie, jak to widzę, lepiej, aby jakikolwiek opis:

wprowadź opis zdjęcia tutaj Jak potencjalnie byłoby to skomplikowane i trudne? Nie wiem w jakim kierunku powinienem patrzeć, czy to w ogóle możliwe? Proszę doradzić wszelkie sugestie, gdzie powinienem zacząć szukać rozwiązania.

PS: A może przede wszystkim się mylę i powinienem rozważyć użycie ThickBox? Ale chcę zachować natywny wygląd wyskakującego okienka przesyłania multimediów.

Twoje zdrowie!

EDYTOWAĆ:

Cóż, być może znacznie lepszym rozwiązaniem byłoby użycie natywnego wzorca krótkiego kodu galerii. Dodanie nowego elementu menu w oknie przesyłania multimediów nie jest trudne, jak wyjaśniono na przykład tutaj .

Tak więc ostateczna wizja jest taka:

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

Wierzę, że trzeba to zrobić przy pomocy Backbone.js? Ale najważniejsze pytanie: czy może manipulować niestandardowymi postami zamiast obrazów?

Nikita
źródło
1
Myślę, że prawdopodobnie nie jest dobrym pomysłem używanie edytora multimediów do zarządzania niestandardowymi postami. Czy nie możesz utworzyć nowego typu mima załącznika o nazwie „portfolio” i stworzyć galerii portfolio z istniejącym zarządzaniem shortcode i edytorem multimediów?
Fabien Quatravaux
Dzięki @FabienQuatravaux, nie jestem pewien, czy rozumiem, jak to powinno działać, ale teraz zbadam w tym kierunku, czy mógłbyś polecić trochę lektury?
Nikita
Jaki jest dokładnie używany niestandardowy typ postu? Czy używasz niestandardowego typu postu tylko dlatego, że wstawia on odpowiednie menu w obszarze administratora? Jak powiązać obraz z postem z portfolio (jak pokazano na zrzucie ekranu)?
Fabien Quatravaux
Użyłem niestandardowego typu MIME załącznika w mojej wtyczce Twikin , ale nie jestem pewien, czy to w pełni pasuje do twojego przypadku użycia.
Fabien Quatravaux

Odpowiedzi:

1

wprowadź opis zdjęcia tutaj

Spójrz na mój przewodnik tutaj - http://www.wpexplorer.com/wordpress-tinymce-tweaks/ - aby zobaczyć, jak utworzyć wyskakujące okienko, w którym możesz wybrać opcje niż wstawić krótki kod. Jeśli pobierzesz moją darmową wtyczkę Symple Shortcodes, zobaczysz również implementację na żywo.

Zamiast wybierać posty do wstawienia przez użytkownika, dodaj taksonomię kategorii do swojego portfolio, aby użytkownik mógł uporządkować pozycje w kategorie. Następnie możesz mieć proste menu rozwijane w oknie podręcznym, aby użytkownik mógł wybrać kategorię, z której będą pobierane posty.

Jest to o wiele łatwiejsze do zarządzania przez użytkownika końcowego w przyszłości, ponieważ wystarczy dodać swoje posty do kategorii, a krótki kod wyświetli je automatycznie bez konieczności ręcznej aktualizacji krótkiego kodu, aby uwzględnić nowe posty.

  • AJ
WPExplorer
źródło