某些 WordPress 插件会在“所有帖子”部分中将鼠标悬停在帖子名称上时添加指向小迷你菜单的链接。这就是我所说的,例如从缓存中清除或克隆。
如何添加自己的?
某些 WordPress 插件会在“所有帖子”部分中将鼠标悬停在帖子名称上时添加指向小迷你菜单的链接。这就是我所说的,例如从缓存中清除或克隆。
如何添加自己的?
你使用add_filter钩子
例如,如果您想要一个链接来搜索谷歌的页面标题。
将此添加到您的functions.php
function search_google($actions, $page_object)
{
$actions['google_link'] = '<a href="http://google.com/search?q=' . $page_object->post_title . '" class="google_link">' . __('Search Google for Page Title') . '</a>';
return $actions;
}
add_filter('page_row_actions', 'search_google', 10, 2);
对于自定义帖子类型
add_filter('page_row_actions', 'search_google', 10, 2);
function search_google($actions, $post)
{
if ($post->post_type =="YOUR_POST_TYPE"){
$actions['google_link'] = '<a href="http://google.com/search?q=' . $page_object->post_title . '" class="google_link">' . __('Search Google for Page Title') . '</a>';
return $actions;
}
}
更多示例可以在这里找到
旧版本不再工作了。
现在使用这个:
add_filter('post_row_actions', 'search_google', 10, 2);
function search_google($actions, $post) {
$actions['google_link'] = '<a href="http://google.com/search?q=' . $post->post_title . '" class="google_link">' . __('Search Google for Page Title') . '</a>';
return $actions;
}
对于自定义帖子类型:
add_filter('post_row_actions', 'search_google', 10, 2);
function search_google($actions, $post) {
if ($post->post_type =="YOUR_POST_TYPE"){
$actions['google_link'] = '<a href="http://google.com/search?q=' . $post->post_title . '" class="google_link">' . __('Search Google for Page Title') . '</a>';
return $actions;
}
}
在我的情况下,我想通过在新选项卡中打开来改变当前链接的行为,并添加我自己的特定于 Divi Builder 主题的edit
链接。view
我希望这适用于页面、帖子和所有自定义帖子类型。
因为我将此更改应用于页面和帖子,所以我必须同时执行 post_row_actions和page_row_actions add_filter
操作。
functions.php
文件中的代码。/* Modify row actions */
/* Modify row actions */
/* Modify row actions */
// Open Edit in new
function edit_new_tab( $actions, $page_object ) {
$actions['edit'] = '<a href="/wp-admin/post.php?post=' . $page_object->ID . '&action=edit" target="_blank">' . __( 'Edit' ) . '</a>';
return $actions;
}
add_filter( 'post_row_actions', 'edit_new_tab', 10, 2 );
add_filter( 'page_row_actions', 'edit_new_tab', 10, 2 );
// Open View in new
function view_new_tab( $actions, $page_object ) {
$actions['view'] = '<a href="' . get_permalink() . '" target="_blank">' . __( 'View' ) . '</a>';
return $actions;
}
add_filter( 'post_row_actions', 'view_new_tab', 10, 2 );
add_filter( 'page_row_actions', 'view_new_tab', 10, 2 );
// Divi Builder in new
function add_divi_link( $actions, $page_object ) {
$actions['add_divi_link'] = '<a href="' . get_permalink() . '?et_fb=1&PageSpeed=off" target="_blank">' . __( 'Divi Builder' ) . '</a>';
return $actions;
}
add_filter( 'post_row_actions', 'add_divi_link', 10, 2 );
add_filter( 'page_row_actions', 'add_divi_link', 10, 2 );
在此代码中,view
in$actions['view']
匹配内置行类型。因此,行类型view
会被相应的代码覆盖。这也适用于edit
. 要查看行类型以及它们在您的实例中的显示方式,您可以检查页面的源代码并注意<span>
要修改的链接周围的内容。的类<span>
将是您将在 中使用的名称$actions['span_class_goes_here']
。因此,$actions['edit']
将确定编辑链接将被修改。
如果$actions['add_divi_link']
,add_divi_link
在我的场景中不存在,因此它将作为新的行操作添加。