Làm cách nào để kiểm tra xem tôi có liên kết với bài đăng trước khi xóa không?


15

Nếu tôi muốn "an toàn" xóa một bài viết. Tôi muốn đảm bảo rằng không có liên kết nào tồn tại (trong blog của tôi) đến bài đăng "sẽ bị xóa". Làm thế nào để làm điều đó?


Không chắc chắn làm thế nào để làm điều này nhưng có lẽ bạn không thể thử điều này: Di chuyển bài đăng vào thùng rác và sử dụng plugin kiểm tra liên kết. Nếu plugin kiểm tra liên kết đủ thông minh, nó sẽ cho bạn biết bất kỳ liên kết nào liên kết đến bài đăng mà bạn không còn hiển thị trên trang web.
Brady

1
+1 cho một câu hỏi tuyệt vời. Ý tưởng sẽ là quét nội dung bài đăng của tất cả các bài viết nhưng nó có thể là một nỗi đau cho một trang web lớn không có nhiều bài viết. Tôi sẽ làm điều đó bằng cách lưu một loạt các liên kết của một bài đăng trong postmeta của nó (cho mới & cho hiện tại) và sau đó truy vấn thông tin meta này từ bảng postmeta và quét qua và trả lại một loạt ID bài đăng liên kết đến bài đăng bị xóa . Bạn có thể tạm dừng nó hoặc thực hiện bất kỳ hành động nào bạn muốn.
Ashfame

@Ashfame: Gợi ý thú vị. Bây giờ nếu bạn sẽ tạo một plugin cho nó ...
Jan Fabry

+1 khác cộng với một fav. @Jan Fabry & @Ashfame - Tôi chắc chắn bạn muốn làm việc cùng nhau trên cái này! :)
kaiser

@ user3047 Bạn không muốn đánh dấu cái này là đã giải quyết?
kaiser

Câu trả lời:


6

Sau khi đọc chủ đề này, tôi thấy rằng đôi khi tôi cũng cần nó. Vì vậy, đây là kết quả:

Plugin kiểm tra liên kết nội bộ

Nó thêm một hộp meta vào màn hình chỉnh sửa bài đăng của bạn hiển thị các liên kết đến tất cả các bài đăng liên kết nội bộ với bài đăng hiện đang hiển thị. Nếu bạn muốn thay đổi đầu ra (thêm một cái gì đó ví dụ.), Vui lòng sử dụng bộ lọc được cung cấp. Một ví dụ về cách sử dụng bộ lọc có thể được tìm thấy tại tệp readme.

Plugin được cấp phép GPL2. Có lẽ tôi cũng sẽ đặt nó trong repo chính thức để cho phép cài đặt từ bên trong blog tự lưu trữ của bạn. Chỉnh sửa: Xong.

...hoặc tại...

... hoặc của chính chúng ta


Và cảm ơn @Drake đã cung cấp truy vấn sql (vui lòng truy cập & upvote câu trả lời của anh ấy).
kaiser

Một chút thô nhưng kinda hoạt động. Nếu bạn có nhiều liên kết trong cùng một bài, nó sẽ hiển thị trùng lặp. Giải pháp được chấp nhận.
dùng3047

Cảm ơn cho những người đứng đầu lên. Không nhận thức được điều đó. Sẽ thay đổi trong một phiên bản trong tương lai.
kaiser

6

Bạn có thể thực hiện một truy vấn như:

SELECT ID, post_title, post_date, post_content 
FROM wp_posts 
WHERE post_content 
LIKE '%your-post-title%' ORDER BY post_date

để có được tất cả các bài viết liên kết thứ tự bài cũ theo ngày.


1

Không có bảng hoặc cấu trúc dữ liệu riêng biệt giữ các liên kết sau bài viết, vì vậy cách tốt nhất để làm điều này là tìm kiếm bài đăng của bạn cho URL của bài đăng bạn muốn xóa. Tìm kiếm hoạt động trên mã HTML của bài đăng, vì vậy nó sẽ chứa liên kết đầy đủ, ngay cả khi bạn không nhìn thấy nó trong trình chỉnh sửa trực quan.

Tất nhiên, bạn cũng nên tìm kiếm thông qua các trang, vì chúng cũng có thể chứa các liên kết đến bài viết.

Một cách tiếp cận khác là sử dụng Google. Nếu bạn tìm kiếm link:http://example.com/2011/05/post-to-delete/nó sẽ trả về tất cả các trang liên kết ở đó. Sau đó, bạn cũng có thể thêm site:example.comđể giới hạn kết quả chỉ các trang trên trang web của mình. Tất nhiên, điều này sẽ không được cập nhật như một tìm kiếm trong cơ sở dữ liệu hiện tại của riêng bạn.


Ý tưởng tuyệt vời. Nhưng blog cụ thể mà tôi đang xử lý là riêng tư ...
user3047

1

Chỉ cần sử dụng các công cụ Quản trị trang web của Google - nó có một trang cụ thể hiển thị các liên kết nội bộ.

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.