最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

通過自定義字段重新排序 WordPress 文章方法

 更新時(shí)間:2021年09月20日 14:08:24   投稿:WDC  
在本文中,我將向您展示如何通過自定義字段更改文章的順序。WordPress 中文章的默認(rèn)順序基于發(fā)布日期,并按時(shí)間倒序顯示。這意味著它將在頂部顯示最新的文章。

您想更改網(wǎng)站博客頁面上 WordPress 文章的順序嗎?那么您就在正確的地方學(xué)習(xí)此功能并更改文章的順序。因此,在本文中,我將向您展示如何通過自定義字段更改文章的順序。

WordPress 中文章的默認(rèn)順序基于發(fā)布日期,并按時(shí)間倒序顯示。這意味著它將在頂部顯示最新的文章。

通過為 WordPress 添加自定義字段,您可以根據(jù)該自定義字段更改順序。

我將在下面的分步指南中解釋如何創(chuàng)建自定義字段并更改博客頁面上文章的順序。

按自定義字段排序 WordPress 文章

讓我們開始在帖子中創(chuàng)建一個(gè)自定義字段,并使用文章 ID 保存值并顯示它們。

在發(fā)布元框中創(chuàng)建自定義字段

我們將在編輯文章頁面右側(cè)邊欄的發(fā)布元框中創(chuàng)建一個(gè)數(shù)字自定義字段。字段值將保存在 post meta 表中,我們稍后將使用它來更改文章順序。

有關(guān)發(fā)布元框中的自定義字段,請(qǐng)參閱下面的代碼。

add_action('post_submitbox_misc_actions', 'add_publish_meta_custom_field');
function add_publish_meta_custom_field($post_obj) {
 
  	global $post;
  	$post_type = 'post';
  	$value = get_post_meta($post_obj->ID, 'post_order', true); 
  	$val = ($value) ? $value : "0";
  	if($post_type==$post->post_type) {

	    echo '<div class="misc-pub-section misc-pub-section-last">'
	         .'<label>Post Order <input name="post_order" type="number" step="1" min="0" id="post_order" value="'.$val.'" class="small-text"></label>'
	         .'</div>';
  	}
}

以上將在發(fā)布元框中創(chuàng)建自定義字段,您將看到如下圖所示的字段。

在發(fā)布元框中創(chuàng)建自定義字段,您將看到如下圖所示的字段。

發(fā)布元框中的自定義字段

保存自定義字段的值

現(xiàn)在,我們必須保存Post Order字段的值。所以我們將save_post在保存文章之前運(yùn)行動(dòng)作鉤子,并update_post_meta()用于保存相應(yīng)文章的字段值。

update_post_meta()操作將值與文章 ID 一起保存在wp_postmeta表中。

好的。請(qǐng)參閱代碼以保存該自定義字段的值。

add_action( 'save_post', 'save_publish_meta_custom_field', 10 , 3);
function save_publish_meta_custom_field($post_id, $post, $update) {
 
  	$post_type = 'post';
  	if ( $post_type != $post->post_type ) {
    	return;
  	}
 
  	if ( wp_is_post_revision( $post_id ) ) {
    	return;
  	}

  	if(isset($_POST['post_order'])) {
    	update_post_meta($post_id, 'post_order', $_POST['post_order']);
  	}

}

上面的代碼將自定義字段值保存在數(shù)據(jù)庫中,并將顯示在該輸入數(shù)字字段中。

自定義字段中保存的值

自定義字段中保存的值

按自定義字段更改 WordPress 文章的順序

現(xiàn)在,我們將使用我們自己的順序值更改 WordPress 文章的默認(rèn)順序。在顯示結(jié)果之前,我們將運(yùn)行pre_get_posts動(dòng)作鉤子來修改現(xiàn)有的WP_Query文章。

pre_get_posts給我們一些解決方案來修改wp_query無需編寫自定義WP_Query。

function pre_custom_post_order_sort( $query ){
  if ( is_home() && $query->is_main_query() ){
    $query->set( 'orderby', 'meta_value' );
    $query->set( 'meta_key', 'post_order' );
    $query->set( 'order' , 'ASC' );
  }
}
add_action( 'pre_get_posts' , 'pre_custom_post_order_sort' );

上面的代碼示例將更改博客頁面或主頁上的 WordPress 文章順序。

我們?cè)谶@篇文章中檢查了一個(gè)主要查詢和主頁,然后使用meta_key元值設(shè)置查詢順序。它將檢查文章是否具有自定義字段值,并根據(jù)字段值將它們置于頂部。

在模板文件中按自定義字段排序 WordPress 文章

您還可以創(chuàng)建自己的自定義WP_Query以按順序顯示文章。

您必須創(chuàng)建一個(gè)WordPress 自定義模板頁面,然后您可以在該模板中編寫自己的查詢。

在此處查看有關(guān)如何在 WordPress 中創(chuàng)建自定義頁面模板的分步指南。

好的。您現(xiàn)在有一個(gè)自定義模板文件。因此,在該模板中編寫以下代碼。

$args = array(
    'post_type' => 'post',
    'meta_key' => 'post_order',
    'orderby' => 'meta_value',
    'order' => 'ASC'
);

$query = new WP_query ( $args );

if ( $query->have_posts() ) {
    while ($query->have_posts() ) {
        $query->the_post();

        if ( !empty(get_post_meta( $post->ID, 'post_order', true )) ) {
            the_title();
        }

    wp_reset_postdata();
}

上面的代碼將按自定義字段值顯示文章標(biāo)題順序,并根據(jù)自定義字段值將文章置于頂部。

您還可以在functions.php 文件中創(chuàng)建上述代碼的簡碼,并在小工具、頁面或您想要顯示文章的任何地方使用該簡碼。

就是這樣。您已完成按自定義字段值顯示 WordPress 文章順序。

好了至此關(guān)于通過自定義字段重新排序 WordPress 文章方法就結(jié)束了,更多關(guān)于WordPress技巧請(qǐng)查看下面的相關(guān)文章

相關(guān)文章

  • 詳解VScode 配置為 LaTeX 編輯器(IDE)

    詳解VScode 配置為 LaTeX 編輯器(IDE)

    這篇文章主要介紹了詳解VScode 配置為 LaTeX 編輯器,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • IDEA 2020 設(shè)置項(xiàng)目集成git 及svn和git之間的切換問題

    IDEA 2020 設(shè)置項(xiàng)目集成git 及svn和git之間的切換問題

    這篇文章主要介紹了IDEA 2020 設(shè)置項(xiàng)目集成git 及svn和git之間的切換問題,本文通關(guān)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 一文詳解VSCode安裝配置使用(最新版超詳細(xì)保姆級(jí)含插件)

    一文詳解VSCode安裝配置使用(最新版超詳細(xì)保姆級(jí)含插件)

    安裝VScode就很簡單了,一路NEXT就可以了,重點(diǎn)是配置使用以及插件推薦,這篇文章主要給大家介紹了關(guān)于VSCode安裝配置使用的相關(guān)資料,本文是最新版超詳細(xì)保姆級(jí)含插件,需要的朋友可以參考下
    2023-05-05
  • git 入門教程之本地倉庫和遠(yuǎn)程倉庫的本質(zhì)介紹

    git 入門教程之本地倉庫和遠(yuǎn)程倉庫的本質(zhì)介紹

    本地倉庫和遠(yuǎn)程倉庫在本質(zhì)上沒有太大區(qū)別,只不過一個(gè)是本地電腦,一個(gè)是遠(yuǎn)程電腦.這篇文章主要介紹了git 入門教程之本地和遠(yuǎn)程倉庫的本質(zhì)介紹,需要的朋友可以參考下
    2020-08-08
  • 解析scratch3.0二次開發(fā)之scratch-blocks免編譯修改問題

    解析scratch3.0二次開發(fā)之scratch-blocks免編譯修改問題

    大家在使用scratch-blocks編譯時(shí)會(huì)遇到scratch-gui依賴的scratch-blocks模塊在安裝的時(shí)候編譯會(huì)報(bào)錯(cuò),針對(duì)這個(gè)問題我們?cè)撛趺唇鉀Q呢,下面小編給大家?guī)砹藄cratch3.0二次開發(fā)之scratch-blocks免編譯修改方法,感興趣的朋友一起看看吧
    2021-08-08
  • VScode敲代碼時(shí)自動(dòng)導(dǎo)入包的解決方案

    VScode敲代碼時(shí)自動(dòng)導(dǎo)入包的解決方案

    這篇文章主要介紹了VScode敲代碼時(shí)自動(dòng)導(dǎo)入包的解決方案,文中通過圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vscode具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 解決Unable to access ''https://gitee.com/自己的項(xiàng)目/'': Could not resolve host: gitee.com問題

    解決Unable to access ''https://gitee.com/自己的項(xiàng)目/'': Could not r

    這篇文章主要介紹了解決Unable to access 'https://gitee.com/自己的項(xiàng)目/': Could not resolve host: gitee.com問題,需要的朋友可以參考下
    2020-09-09
  • 分布式系統(tǒng)CAP定理中的P原理解析

    分布式系統(tǒng)CAP定理中的P原理解析

    這篇文章主要為大家介紹了分布式系統(tǒng)CAP定理中的P原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 防止刪庫跑路及高級(jí)代碼投毒技巧

    防止刪庫跑路及高級(jí)代碼投毒技巧

    這篇文章主要為大家介紹了防止刪庫跑路及高級(jí)代碼投毒技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 怎樣寫好commit?message提高業(yè)務(wù)效率

    怎樣寫好commit?message提高業(yè)務(wù)效率

    這篇文章主要為大家介紹了如何寫好commit?message幫助業(yè)務(wù)團(tuán)隊(duì)提高效率方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05

最新評(píng)論

开封县| 万全县| 罗田县| 穆棱市| 合江县| 三穗县| 许昌市| 扶沟县| 太白县| 六安市| 苗栗市| 措美县| 册亨县| 秭归县| 扶沟县| 汝南县| 定边县| 凤冈县| 鸡泽县| 林甸县| 洱源县| 永年县| 广丰县| 六安市| 万源市| 安福县| 邢台市| 依兰县| 巧家县| 黑龙江省| 兴隆县| 衢州市| 枝江市| 鄯善县| 教育| 土默特右旗| 新余市| 分宜县| 巫山县| 九龙坡区| 正安县|