【问题标题】:Can't Get Wordpress Settings Link To Work无法使 Wordpress 设置链接正常工作
【发布时间】:2017-02-12 11:51:44
【问题描述】:

我正在尝试构建我的第一个 Wordpress 插件,但它让我很伤心。

我有一个我正在使用的插件模板,我正在关注THIS 教程将它变成我可以使用的东西。

教程说要在 [插入插件名称]-admin.php 中放置一个函数,以使“设置”出现在 plugins.php 页面上的插件附近。

它应该是这样的:


(来源:scotch.io

问题是,我已尝试插入该功能,但无法显示此“设置”链接。

教程说要使用的代码是这样的:

public function add_action_links( $links ) {

 $settings_link = array( '<a href="' . admin_url( 'options-general.php?page=' . $this->plugin_name ) . '">' . __('Settings', $this->plugin_name) . '</a>', );
return array_merge( $settings_link, $links );
}

我试过使用这个——以及我在谷歌搜索后在其他网站上发现的类似 sn-ps——但它们都不起作用。我知道 page= 应该链接到页面 URL,我不完全确定我的是什么(它是插件 slug 吗?)。无论如何,我目前正在使用 'page=' 之后的插件 slug

如果这里有人可以帮助我解决这个问题,将不胜感激。我知道我正在使用的教程写得很草率,因为我设法找到了导致错误的错误,而且我对 PHP 相对较新,对 Wordpress 插件完全陌生。

【问题讨论】:

    标签: php wordpress plugins


    【解决方案1】:

    您是否也添加了beloning add_filter?

    喜欢这里:

    add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'my_plugin_action_links' );
    
    function my_plugin_action_links( $links ) {
       $links[] = '<a href="'. esc_url( get_admin_url(null, 'options-general.php?page=gpaisr') ) .'">Settings</a>';
       $links[] = '<a href="http://wp-buddy.com" target="_blank">More plugins by WP-Buddy</a>';
       return $links;
    }
    

    另见: https://codex.wordpress.org/Plugin_API/Filter_Reference/plugin_action_links_(plugin_file_name)

    【讨论】:

    • 谢谢。是的,我尝试添加 add_filter ,但它似乎导致我的整个主题在插件激活时无法工作。 Wordpress 只是不加载。我应该在不同的 .php 文件上执行此操作吗?
    • 实际上,动作链接的 add_filter 似乎在我的 class-[insert plugin name].php 文件中。它确实为“停用”和“访问站点”添加了操作链接。我想知道设置页面没有显示的原因是不是因为我没有创建它?
    猜你喜欢
    • 2012-12-27
    • 2017-04-30
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 2017-11-28
    • 2014-12-15
    相关资源
    最近更新 更多