Como recuperar os IDs, títulos e URLs das páginas principais do WordPress/WooCommerce

Como desenvolvedores de WordPress, muitas vezes queremos obter informações diferentes (ID, título, URL) para páginas padrão do WordPress/WooCommerce, como o Blogue e Minha conta Páginas.

Surpreendentemente, todas essas coisas úteis estão armazenadas no *_options tabela, e podemos acessá-la usando o get_option() função. Há também o wp_load_alloptions() que podemos usar para imprimir todos eles na página.

Vamos ver isso em ação!

Obtenha páginas estáticas do WordPress

Imagine que, em nosso site, registramos páginas estáticas como front pages e páginas de blog.

O WordPress armazena o ID dessas páginas como valores do page_on_front e page_for_posts opções.

Como o WordPress armazena os IDs das páginas estáticas e do blog no banco de dadosComo o WordPress armazena os IDs das páginas estáticas e do blog no banco de dadosComo o WordPress armazena os IDs das páginas estáticas e do blog no banco de dados

A partir daí podemos acessar os títulos e URLs usando o built-in get_the_title() e get_permalink() funções.

É importante notar que outra maneira de obter imediatamente o URL da página de arquivo do blog é usando o get_post_type_archive_link() função e passando o post palavra-chave como parâmetro. Por exemplo, se quisermos obter o URL da página de arquivo do member tipo de postagem personalizada, passaremos o member parâmetro para esta função.

Primeira página estática

1
/* GET URL */
2
function get_front_page_url() {
3
    return get_permalink( get_option( 'page_on_front' ) );
4
}
5

6
/* GET TITLE */
7
function get_front_page_title() {
8
    return get_the_title( get_option( 'page_on_front' ) );
9
}

Página estática do blog

1
/* GET URL */
2
// Method 1

3
function get_blog_page_url() {
4
    return get_permalink( get_option( 'page_for_posts' ) );
5
}
6

7
// Method 2 - call get_blog_page_url2( 'post' )

8
function get_blog_page_url2( $type ) {
9
    return get_post_type_archive_link( $type );
10
}
11

12
/* GET TITLE */
13
function get_blog_page_title() {
14
    return get_the_title( get_option( 'page_for_posts' ) );
15
}

Obtenha páginas estáticas do WooCommerce

Entre outros, WooCommerce também armazena os IDs de suas páginas essenciais como Minha conta, Comprar, Carrinhoe Confira páginas no *_options mesa.

Como o WooCommerce armazena os IDs de diferentes páginas no banco de dadosComo o WooCommerce armazena os IDs de diferentes páginas no banco de dadosComo o WooCommerce armazena os IDs de diferentes páginas no banco de dados

Conforme discutido acima, podemos acessar seus títulos e URLs usando as funções principais do WordPress.

WooCommerce também oferece algumas funções úteis como as abaixo, que podemos usar para acessar diretamente as partes da página que desejamos:

Página Minha Conta

1
/* GET URL */
2
// Method 1

3
function get_my_account_page_url() {
4
    return get_permalink( get_option( 'woocommerce_myaccount_page_id' ) );
5
}
6

7
// Method 2

8
function get_my_account_page_url2() {
9
    return get_permalink( wc_get_page_id( 'myaccount' ) );
10
}
11

12
// Method 3

13
function get_my_account_page_url3() {
14
    return wc_get_page_permalink( 'myaccount' );
15
}
16

17
/* GET TITLE */
18
// Method 1

19
function get_my_account_page_title() {
20
    return get_the_title( get_option( 'woocommerce_myaccount_page_id' ) );
21
}
22

23
// Method 2

24
function get_my_account_page_title2() {
25
    return get_the_title( wc_get_page_id( 'myaccount' ) );
26
}

Página da loja

1
/* GET URL */
2
// Method 1

3
function get_shop_page_url() {
4
    return get_permalink( get_option( 'woocommerce_shop_page_id' ) );
5
}
6

7
// Method 2

8
function get_shop_page_url2() {
9
    return get_permalink( wc_get_page_id( 'shop' ) );
10
}
11

12
// Method 3

13
function get_shop_page_url3() {
14
    return wc_get_page_permalink( 'shop' );
15
}
16

17
/* GET TITLE */
18
// Method 1

19
function get_shop_page_title() {
20
    return get_the_title( get_option( 'woocommerce_shop_page_id' ) );
21
}
22

23
// Method 2

24
function get_shop_page_title2() {
25
    return get_the_title( wc_get_page_id( 'shop' ) );
26
}

Página do carrinho

1
/* GET URL */
2
// Method 1

3
function get_cart_page_url() {
4
    return get_permalink( get_option( 'woocommerce_cart_page_id' ) );
5
}
6

7
// Method 2

8
function get_cart_page_url2() {
9
    return get_permalink( wc_get_page_id( 'cart' ) );
10
}
11

12
// Method 3

13
function get_cart_page_url3() {
14
    return wc_get_page_permalink( 'cart' );
15
}
16

17
// Method 4

18
function get_cart_page_url4() {
19
    return wc_get_cart_url();
20
}
21

22
/* GET TITLE */
23
// Method 1

24
function get_cart_page_title() {
25
    return get_the_title( get_option( 'woocommerce_cart_page_id' ) );
26
}
27

28
// Method 2

29
function get_cart_page_title2() {
30
    return get_the_title( wc_get_page_id( 'cart' ) );
31
}

Página de check-out

1
/* GET URL */
2
// Method 1

3
function get_checkout_page_url() {
4
    return get_permalink( get_option( 'woocommerce_checkout_page_id' ) );
5
}
6

7
// Method 2

8
function get_checkout_page_url2() {
9
    return get_permalink( wc_get_page_id( 'checkout' ) );
10
}
11

12
// Method 3

13
function get_checkout_page_url3() {
14
    return wc_get_page_permalink( 'checkout' );
15
}
16

17
// Method 4

18
function get_checkout_page_url4() {
19
    return wc_get_checkout_url();
20
}
21

22
/* GET TITLE */
23
// Method 1

24
function get_checkout_page_title() {
25
    return get_the_title( get_option( 'woocommerce_checkout_page_id' ) );
26
}
27

28
// Method 2

29
function get_checkout_page_title2() {
30
    return get_the_title( wc_get_page_id( 'checkout' ) );
31
}

Outros plug-ins WooCommerce

Não é de surpreender que outros plug-ins do WooCommerce armazenem informações sobre suas páginas no *_options mesa. Por exemplo, considere o Lista de desejos do Yith WooCommerce plugin popular que permite aos usuários salvar seus produtos populares no Lista de Desejos página.

Desde que o instalemos e ativemos, no banco de dados veremos uma nova entrada para o Lista de Desejos página.

Como o plugin de lista de desejos do Yith WooCommerce armazena o ID da página de lista de desejos no banco de dadosComo o plugin de lista de desejos do Yith WooCommerce armazena o ID da página de lista de desejos no banco de dadosComo o plugin de lista de desejos do Yith WooCommerce armazena o ID da página de lista de desejos no banco de dados
1
/* GET URL */
2
// Method 1

3
function get_yith_wishlist_page_url() {
4
    return get_permalink( get_option( 'yith_wcwl_wishlist_page_id' ) );
5
}
6

7
// Method 2

8
function get_yith_wishlist_page_url2() {
9
    return YITH_WCWL()->get_wishlist_url();
10
}
11

12
/* GET TITLE */
13
function get_yith_wishlist_page_title() {
14
    return get_the_title( get_option( 'yith_wcwl_wishlist_page_id' ) );
15
}

Conclusão

Feito! Hoje, aprendemos diferentes métodos para acessar IDs, títulos e URLs das páginas principais do WordPress e WooCommerce. Espero que você tenha este tutorial como referência sempre que quiser acessar essa página. Por último, mas não menos importante, todo o código abordado aqui está incluído neste Gist.

Lembre-se que a melhor forma de aprender e encontrar o que deseja é consultando o banco de dados e verificando os arquivos nativos do WordPress e WooCoomerce.

Como sempre, muito obrigado pela leitura!

Deixe uma resposta