Popełniłem kilka błędów podczas konfigurowania określonego typu treści w mojej witrynie. Aby naprawić te błędy, wprowadziłem regułę, która wykonuje pewne działania „po zaktualizowaniu istniejącej zawartości”. Nie chcę jednak przeglądać mojej witryny i ręcznie zapisywać wszystkich węzłów jeden po drugim. Czy istnieje sposób na użycie reguł lub widoków Operacje zbiorcze, aby szybko ponownie zapisać wszystkie węzły?
24
Nie wiem o regułach ani VBO, ale możesz użyć krótkiego fragmentu kodu, aby uzyskać ten sam wynik:
Jeśli masz wiele węzłów, które mogą zająć trochę czasu, więc jeśli Twój serwer na to pozwala, dobrym pomysłem byłoby przedłużenie limitu czasu na początku tego kodu, być może nieograniczony, jeśli jest to jednorazowy :
źródło
Możesz użyć funkcji node_mass_update () :
Jest bardzo dobry, ponieważ nie musisz się martwić o limit czasu. Proces wsadowy aktualizacji węzłów rozpocznie się automatycznie, jeśli jest więcej niż 10 węzłów.
źródło
Aktualizacja: Właśnie utworzyłem Resave All Nodes . Na razie zawiera tylko formularz, aby uruchomić proces wsadowy w celu ponownego zapisania wszystkich węzłów wybranych typów węzłów. Obecnie w wersji alfa. Planuję dodać polecenie Drusha (beta) i niektóre testy (stabilne).
Są węzły Resave . Jest przeznaczony do stosowania na biegach crona. Ale możesz także uruchomić go ręcznie. Po prostu wybierz, które węzły typu treści powinny zostać ponownie zapisane.
Zanim będziesz mógł uruchomić ręczne ponowne zapisywanie, naciskając „Resave Nodes Now”, musisz kiedyś „Save Configuration” (wybrać typ crona i typ zawartości).
źródło
Przejdź do admin / content i filtruj według typu zawartości - tylko opublikowane. Wybierz wszystko, a następnie wybierz „zmień wartość” z listy rozwijanej operacji. Kliknij „wykonaj”. Na następnej stronie wybierz „status” z właściwości i pozostaw opublikowany. Kliknij „dalej”. Wszystkie opublikowane węzły zostaną ponownie zapisane bez zmian.
Powtórz dla niepublikowanych węzłów (ale wybierz niepublikowane jako właściwość).
źródło