91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-09-24 15:00:28 來源:億速云 閱讀:167 作者:柒染 欄目:開發技術

這篇文章將為大家詳細講解有關通過自定義字段重新排序WordPress文章方法是怎樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

WordPress 中文章的默認順序基于發布日期,并按時間倒序顯示。這意味著它將在頂部顯示最新的文章。

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

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

按自定義字段排序 WordPress 文章

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

在發布元框中創建自定義字段

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

有關發布元框中的自定義字段,請參閱下面的代碼。

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>';
  	}
}

以上將在發布元框中創建自定義字段,您將看到如下圖所示的字段。

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

發布元框中的自定義字段

保存自定義字段的值

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

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

好的。請參閱代碼以保存該自定義字段的值。

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']);
  	}

}

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

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

自定義字段中保存的值

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

現在,我們將使用我們自己的順序值更改 WordPress 文章的默認順序。在顯示結果之前,我們將運行pre_get_posts動作鉤子來修改現有的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 文章順序。

我們在這篇文章中檢查了一個主要查詢和主頁,然后使用meta_key元值設置查詢順序。它將檢查文章是否具有自定義字段值,并根據字段值將它們置于頂部。

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

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

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

在此處查看有關如何在 WordPress 中創建自定義頁面模板的分步指南。

好的。您現在有一個自定義模板文件。因此,在該模板中編寫以下代碼。

$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();
}

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

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

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

關于通過自定義字段重新排序WordPress文章方法是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉屏| 高雄市| 库伦旗| 丰都县| 日喀则市| 铜川市| 万安县| 文安县| 墨江| 吉安县| 姚安县| 洞头县| 江北区| 土默特右旗| 沙坪坝区| 开原市| 修武县| 天水市| 古田县| 营山县| 南江县| 永寿县| 神木县| 瓮安县| 万源市| 大邑县| 綦江县| 开封县| 海林市| 绥棱县| SHOW| 峨眉山市| 龙陵县| 望江县| 台中市| 百色市| 长子县| 攀枝花市| 周宁县| 宕昌县| 旌德县|