将特定类别中的所有POST固定链接保存到.txt文件中

时间:2018-06-25 作者:Godwin Alex Ogbonda

请我想实现一个目标,即在a中保存Post Permalink。来自特定类别的txt文件,示例;在特定类别中发布帖子时,它会将帖子永久链接保存在中。我的根域中的txt文件。

下面是我目前掌握的代码。

function custom_update_txt_file( $post_id ) {
     $post_url = get_permalink( $post_id ) . "\\r\\n";
     $fp = fopen( get_home_path() . \'/post-links.txt\', \'a\' );
     fwrite( $fp, $post_url );
     fclose( $fp );
}
add_action( \'publish_post\', \'custom_update_txt_file\' );
请无论如何,这是可以做到的使用主题功能或类似的东西,我是一个新手在wp编码

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

您可以使用该功能in_category() 检查该职位是否属于特定类别。

最好检查url是否已经存在,这样就不会有多个记录具有相同的url。

function custom_update_txt_file( $post_id, $post ) {
    // Check if post is in category you can check by term_id or slug or array
    if(in_category( \'uncategorized\', $post_id )) {
        $post_url = get_permalink( $post_id ) . "\\r\\n";
        $fp = fopen( ABSPATH . \'/post-links.txt\', \'a+\' );

        $url_exists = false;

        // Read each line to check if the url already exists.
        while (($line = fgets($fp)) !== false) {
            $url_exists = ($line == $post_url) ? true : false;
        }

        if(!$url_exists) {
            fwrite( $fp, $post_url );
        }

        fclose( $fp );
    }
}
add_action( \'publish_post\', \'custom_update_txt_file\', 10, 2 );
如果只想在帖子状态更改为“发布”时运行一次,而不是每次都使用状态“发布”更新帖子,那么还有一件事要做。

那么最好使用transition_post_status 钩如果post状态已更改,您可以使用它进行检查,然后执行某些操作。

结束

相关推荐

POSTS_PER_PAGE=>1显示2个帖子

我正在尝试添加一个按钮,将查看器带到随机帖子。下面是我使用的代码:- <?php query_posts(array(\'orderby\' => \'rand\', \'posts_per_page\' => 1)); if (have_posts()) : while (have_posts()) : the_post(); ?> <div class=\"post-lot\">