Robert Król

Robert Król love with wp

Temat: How to remove "delete" link form category (dashboard side)

Witam wszystkich bardzo serdecznie. Nie chciałbym na początek posunąć się za daleko, ale jestem zmuszony przy okazji ostatniego projektu, nad którym pracuję. Zastanawiam się czy istnieje możliwość usunięcia odnośnika "usuń" przy edycji kategorii w panelu administracyjnym. Nawet nie śmiem myśleć o metodzie, która umożliwi pozbycie się tego udogodnienia "by user role". Może to być zrobione nawet na sztywno (tak dla admina, jak dla redaktora). Opracowałem projekt strony oparty na kilku templatkach stron i podstron, z których każda korzysta z dedykowanego sidebara. Każdy sidebar ma podpięte "thumbnails" przyporządkowane do konkretnej kategorii. Nie muszę chyba tłumaczyć co może się stać, kiedy nawet przez przypadek, klient usunie jedną z kategorii... W takim wypadku będę zmuszony powoływać nową kategorię do dedykowanej podstrony i zmieniać jej ID w sidebarze. Wszystko się posypie... Za cuda świata chciałbym tego uniknąć. Przekopałem internet i nie znalazłem rozwiązania, które umożliwiłoby mi np. wstawienie odpowiednich linijek kodu do pliku functions.php. Oczywiście istnieją takie wtyczki (doskonałe zresztą) jak adminize, ale wtyczka umożliwia tylko całościowe wyłączenie możliwości edytowania kategorii czy postówz poziomu panelu, a to nie rozwiązuje problemu. Chciałem zapytać czy ktoś z Was ma jakieś rozsądne rozwiązanie bez konieczności zaawansowanego grzebania w silniku. Pozdrawiam serdecznie, jest mi miło rozpocząć z przygodę w Waszym towarzystwie.
Jurek B.

Jurek B. bibliasmakow.pl

Temat: How to remove "delete" link form category (dashboard side)

http://wordpress.stackexchange.com/questions/4439/can-...

edit. a dokładniej tutaj https://gist.github.com/711874Jurek B. edytował(a) ten post dnia 30.05.11 o godzinie 16:30
Robert Król

Robert Król love with wp

Temat: How to remove "delete" link form category (dashboard side)

Dzięki. Już myślałem, że to mamy, ale nie. Problem polega na tym, że każdy z postów zawiera ikonę wpisu w formie obrazka. Po stronie index.php, single-new.php, sidebar-new.php itd. zapis wywołujący wygląda tradycyjnie, czyli:

<?php if ( has_post_thumbnail()) the_post_thumbnail('sidebar-thumb'); ?>

Po stronie functions.php mniej więcej tak:

if ( function_exists( 'add_image_size' ) ) add_theme_support( 'post-thumbnails' );
if ( function_exists( 'add_image_size' ) ) {
add_image_size( 'post-thumb', 640, 340, true );
add_image_size( 'archive-thumb', 290, 190 );
add_image_size( 'home-thumb', 260, 160, true );
add_image_size( 'sidebar-thumb', 260, 160, true );
}

Jednak po zastosowaniu skryptu otrzymuję informację o problemie, a żaden z obrazków nie jest wczytywany. To się świetnie sprawdzi pod kątem tekstu. Bez thumbnails wszystko działa. Wciąż nie mam pomysłu.

Temat: How to remove "delete" link form category (dashboard side)

Spróbuj to
if ( function_exists( 'add_theme_support' ) ){
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 620, 620, true );
add_image_size('post-thumb', 620, 620, true);
}
Robert Król

Robert Król love with wp

Temat: How to remove "delete" link form category (dashboard side)

Nic, z tego :) Problem musi być bardziej złożony. Z tego, co odnotowałem następna edycja WP również nie zawiera w sobie możliwości odznaczania kategorii nieprzewidzianych do kasowania, szkoda...

Temat: How to remove "delete" link form category (dashboard side)

Ale jak byłby sens tworzenia kategorii bez możliwości usunięcia, możesz osobie która będzie dodawała treść utworzyć konto z ograniczonymi uprawnieniami i problem się rozwiąże
http://codex.wordpress.org/Roles_and_CapabilitiesTomasz Mazur edytował(a) ten post dnia 30.05.11 o godzinie 20:31
Robert Król

Robert Król love with wp

Temat: How to remove "delete" link form category (dashboard side)

To wszystko prawda. Problem polega na tym, że osoba posiadająca dostęp do witryny powinna mieć możliwość zmiany nazwy kategorii. Jeśli osobie przypiszemy najbardziej fortunną funkcję w tym przypadku, czyli ustanowimy ją Autorem, to automatycznie straci dojście to kategorii całkowicie. Biedzę się nad tym od dłuższego czasu i nic. Po dzisiejszym dniu trafiłem na kilka podobnych wątków po stronie użytkowników zza oceanu. Wtyczki jak dotąd nie ma. Ktoś nawet zaproponował pieniądze za jej napisanie, ale nikt na posta nie odpowiedział. Wgryzam się coraz bardziej i rwę włosy z głowy :)

Temat: How to remove "delete" link form category (dashboard side)

http://wordpress.org/extend/plugins/user-role-editor/
Wypróbuj wtyczkę a jak nie zadziała, to wklej w function.php

add_action('admin_head', 'category_delete');
function category_delete() {
echo '<style type="text/css">.row-actions .delete{ display:none!important}</style>';
}
to tylko ukryje link w stylach, niestety w tagach również
Robert Król

Robert Król love with wp

Temat: How to remove "delete" link form category (dashboard side)

Super! Bardzo dziękuję! Wklejenie polecenia w zupełności wystarczy. Bardzo się cieszę, naprawdę. Jak już skończę postaram się pochwalić wszem, na razie mogę na priv autorowi rozwiązania :)
Konrad Karpieszuk

Konrad Karpieszuk WordPress Plugin
Compatibility
Assurance for WPML

Temat: How to remove "delete" link form category (dashboard side)

Możesz jeszcze Tomka rozwiązanie wspomóc na poziomie PHP. Gdyby użytkownikowi w jakiś sposób udało się zainicjowac usuwanie kategorii*, zawsze mozesz po stronie php utworzyc kategorie ponownie (zobacz funkcje wp_update_category, wystarczy ze bedziesz ją wywolywal w akcji 'wp_deleted_taxonomy' z argumentem array('cat_ID' => 1) -- pod 1 podstaw id kategorii, której nie cchcesz pozwolic usuwac).

lepiej na te okazje cala strukture kategorii trzymac sobie w jakiejs wp_option. bo moze sie okazac ze update numerka kategorii to troche malo ;)

___
*) a zobacz, że nadal ma taką możliwość. na liście kategorii zaznacza pole checkbox i z listy wybieranej wybiera usuń. oczywiście to też można ukryć, ale grom go wie ile jeszcze jest takich miejsc w interfejsie, które mogliśmy przeoczyć
Robert Król

Robert Król love with wp

Temat: How to remove "delete" link form category (dashboard side)

Dziękuję Panowie za dobre rady. Miło was w końcu poznać. Wordpress to potężne, elastyczne i przyjazne środowisko. Jestem tym silnikiem od jakiegoś czasu po prostu i szczerze zafascynowany. Aż strach pomyśleć do czego kolejne edycje mogą nas doprowadzić. Pozostaję w kontakcie, na pewno jeszcze się odezwę, bo google w połączeniu ze zmęczeniem czasami nie dają rady :)

@Panie Konradzie!

Prawdopodobnie za jakiś czas spróbuję twórczo wykorzystać tradematik w kolejnym projekcie, nie mogę się powstrzymać, żeby sprawdzić jak funkcjonuje.

Pozdrowienia, ukłony w pas!
Konrad Karpieszuk

Konrad Karpieszuk WordPress Plugin
Compatibility
Assurance for WPML

Temat: How to remove "delete" link form category (dashboard side)

Robert Król:
Prawdopodobnie za jakiś czas spróbuję twórczo wykorzystać tradematik w kolejnym projekcie, nie mogę się powstrzymać, żeby sprawdzić jak funkcjonuje.

to ja podpowiem ze na http://webhosting.pl/WordPress.na.sterydach.Czesc.I.bi... jest teraz wersja nieco tansza, a za kilka dni jej nie bedzie ;)
Robert Król

Robert Król love with wp

Temat: How to remove "delete" link form category (dashboard side)

Zupełnie przez przypadek trafiłem na coś, co daje efekt, o który mi chodziło, ale w przypadku postów:

add_filter( 'post_row_actions', 'remove_row_actions', 10, 1 );
function remove_row_actions( $actions )
{
if( get_post_type() === 'post' )
unset( $actions['edit'] );
unset( $actions['view'] );
unset( $actions['trash'] );
unset( $actions['inline hide-if-no-js'] );
return $actions;
}

Przerobiłem to na szybko i rachitycznie w taki sposób (poprawcie, jeśli jest, co poprawiać):

add_filter( 'category_row_actions', 'remove_row_actions', 10, 1 );
function remove_row_actions( $actions )
{
if( get_categories() === 'categories' )
unset( $actions['edit'] );
unset( $actions['view'] );
unset( $actions['delete'] );
unset( $actions['inline hide-if-no-js'] );
return $actions;
}

JEST EFEKT! Uzyskałem dokładnie to, o co mi chodziło w przypadku kategorii. Pozostała możliwość edytowania, możliwości kasowania NIE MA :)

Źródło tu:

http://wpsnipp.com/index.php/functions-php/remove-edit...

A nie mówiłem, że Wordpress jest zajefajny?!



Wyślij zaproszenie do