禁用页眉中的链接(提要等)

时间:2016-02-28 作者:Mat

我想禁用feed和类似的东西(rpc、pingbacks、wlwmanifest、prev/next)。原因是这个网站不是博客,所以这些都没有用。

我在插件中编写了以下内容:

remove_action(\'wp_head\', \'rsd_link\');
remove_action(\'wp_head\', \'feed_links\', 2);
remove_action(\'wp_head\', \'wlwmanifest_link\');
// and so on...
实际上,链接不再位于标题中。但如果我请求任何相应的url,它们仍然有效。我只是删除了链接,没有删除功能。

我在wpengineer上找到了一个提示,并在我的插件中添加了以下内容:

function fb_disable_feed() {
    wp_die( __(\'No feed available!\') );
}

add_action(\'do_feed\', \'fb_disable_feed\', 1);
add_action(\'do_feed_rdf\', \'fb_disable_feed\', 1);
add_action(\'do_feed_rss\', \'fb_disable_feed\', 1);
add_action(\'do_feed_rss2\', \'fb_disable_feed\', 1);
add_action(\'do_feed_atom\', \'fb_disable_feed\', 1);
似乎不起作用(尽管我看到过许多对此类代码的引用)。

你知道我如何删除所有这些提要、rpc等等吗?或者至少让他们返回“这里什么都没有”之类的东西?

备注:

当然,我不想编辑核心wp文件!

我认为管理区使用feed。我很好,我只想把它们从前端去掉。

1 个回复
最合适的回答,由SO网友:jgraup 整理而成

在…上template_redirect 这个template-loader.php 踢进来。

add_action( \'template_redirect\', function() {

    if ( in_array( true,
        array (
            is_feed(),
            is_trackback(),
            is_embed(),
        ) ) ) {
        wp_die( __( "NO SOUP FOR YOU!" ) );
    }
} );
如果do_feed() 然后可以调用一些操作。

add_action( \'init\', function() {

    $feeds = array (
        \'do_feed\',
        \'do_feed_rdf\',
        \'do_feed_rss\',
        \'do_feed_rss2\',
        \'do_feed_atom\',
    );

    foreach ( $feeds as $feed ) {
        remove_action( $feed, $feed );
    } 
} );
添加了上述feed操作和许多其他操作default-filters.php

禁用xmlrpc:

add_filter( \'xmlrpc_enabled\', \'__return_false\' );

// Hide xmlrpc.php in HTTP response headers
add_filter( \'wp_headers\', function( $headers ) {
    unset( $headers[ \'X-Pingback\' ] );
    return $headers;
} ); 
要删除链接,请执行以下操作:

remove_action(\'wp_head\', \'wlwmanifest_link\');
remove_action(\'wp_head\', \'rsd_link\');
阻止访问wlwmanifestxmlrpc 将这些行添加到.htaccess:

RedirectMatch 403 ^.*/xmlrpc.php$
RedirectMatch 403 ^.*/wp-includes/wlwmanifest.xml$
有关要删除的更多链接,请参见Remove JSON API links in header html 其中包括WP-API和;oembed链接和Disable emojicons introduced with WP 4.2.

相关推荐

警告:声明QuietSkin::Feedback错误

祝你好运。所以今天我将wordpress版本更新到了5.3,之后我开始在我所有页面的顶部看到这个错误。警告:QuietSkin::feedback($string)的声明应与/home/…中的WP\\U Upgrader\\U Skin::feedback($string,$args)兼容/域//public\\u html/wp-content/plugins/ocean-extra/includes/wizard/classes/QuietSkin。php在线12有人知道这是什么吗?如果是,请提供一些