WordPress как на ладони
Шаблоны, плагины и темы для настоящих поклонников Elementor. От TemplateMonster.com wordpress jino

post_row_actions хук-фильтр . WP 2.8.0

Позволяет удалить/добавить ссылки, которые выводятся под заголовком записи в таблице записей в админ-панели (например: Изменить, Свойства, Удалить, Перейти).

Фильтр работает только для не иерархических типов постов, например у записей. Т.е. у страниц он работать не будет. Для иерархических типов записей, вроде page, есть аналогичный фильтр: page_row_actions.

Использование

add_filter( 'post_row_actions', 'filter_function_name_2859', 10, 2 );
function filter_function_name_2859( $actions, $post ){
	// Делаем что-нибудь...

	return $actions;
}
$actions(массив)

Массив со ссылками. По умолчанию это 'Изменить', 'Свойства', 'Удалить', 'Перейти'.

По умолчанию массив $actions выглядит так:

Array (
	[edit] => <a href="http://wp-test.ru/wp-admin/post.php?post=173&action=edit" aria-label="Редактировать «Моя запись»">Изменить</a>

	[inline hide-if-no-js] => <a href="#" class="editinline" aria-label="Изменить свойства «Моя запись»">Свойства</a>

	[trash] => <a href="http://wp-test.ru/wp-admin/post.php?post=173&action=trash&_wpnonce=79bbce2a2f" class="submitdelete" aria-label="Переместить «Моя запись» в корзину">Удалить</a>

	[view] => <a href="http://wp-test.ru/%d0%bc%d0%be%d1%8f-%d0%b7%d0%b0%d0%bf%d0%b8%d1%81%d1%8c/" rel="bookmark" aria-label="Посмотреть «Моя запись»">Перейти</a>
)
$post(WP_Post)
Объект текущего поста.

Примеры

#1 Добавим ссылку на страницу с комментариями к записи

add_filter( 'post_row_actions', 'post_actions_add_comments_link', 10, 2 );
function post_actions_add_comments_link( $actions, $post ) {
	if ( $post->comment_count ) {
		$url = esc_url( add_query_arg( array( 'p' => $post->ID, 'comment_status' => 'approved' ), admin_url( 'edit-comments.php' ) ) );
		$actions['comments'] = sprintf( '<a href="%s">Комментарии</a>', $url );
	}

	return $actions;
}

Где используется хук

WP_Posts_List_Table::handle_row_actions() остальные хуки:

Код хука-фильтра post_row_actions

Фрагмент из: wp-admin/includes/class-wp-posts-list-table.php VER 4.9.8
...
			$actions = apply_filters( 'page_row_actions', $actions, $post );
		} else {

			/**
			 * Filters the array of row action links on the Posts list table.
			 *
			 * The filter is evaluated only for non-hierarchical post types.
			 *
			 * @since 2.8.0
			 *
			 * @param array $actions An array of row action links. Defaults are
			 *                         'Edit', 'Quick Edit', 'Restore', 'Trash',
			 *                         'Delete Permanently', 'Preview', and 'View'.
			 * @param WP_Post $post The post object.
			 */
			$actions = apply_filters( 'post_row_actions', $actions, $post );
		}

		return $this->row_actions( $actions );
	}

	/**
	 * Outputs the hidden row displayed when inline editing
	 *
	 * @since 3.1.0
	 *
	 * @global string $mode List table view mode.
	 */
	public function inline_edit() {
		global $mode;

...
...
		foreach ( $actions as $action => $link ) {
			$row_actions[] = '<span class="' . esc_attr( $action ) . '">' . $link . '</span>';
		}

		$output .= '<div class="row-actions">' . implode( ' | ', $row_actions ) . '</div>';

		return $output;
	}

	/**
	 * Return status column.
	 *
	 * @param  WC_Webhook $webhook Webhook instance.
	 * @return string
	 */
	public function column_status( $webhook ) {
		return $webhook->get_i18n_status();
	}

	/**
	 * Return topic column.
	 *
	 * @param  WC_Webhook $webhook Webhook instance.
	 * @return string
	 */
	public function column_topic( $webhook ) {
		return $webhook->get_topic();
	}

	/**
	 * Return delivery URL column.
...
campusboy 2987youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться