Skip to content

Instantly share code, notes, and snippets.

import { Spinner } from '@wordpress/components';
const ArticlesList = ({ articles }) => {
if ( ! articles ) {
return (
<Spinner />
);
}
return (
<ul>
@goiblas
goiblas / withSelectComponent.js
Last active April 4, 2020 14:31
Componente con withSelect
import { withSelect } from '@wordpress/data';
const ArticlesList = ({ articles }) => {}
export default withSelect( (select ) => {
return {
articles : select( 'core' ).getEntityRecords( 'postType', 'post', { per_page: 6 } )
}}
)(ArticlesList)
@goiblas
goiblas / blockListPostType.js
Created April 4, 2020 14:17
Bloque con SelectControl
import { registerBlockType } from '@wordpress/blocks';
import { SelectControl } from '@wordpress/components';
registerBlockType( 'block-list-post-type/block-list-post-type', {
title: 'List Post Type',
category: 'layout',
edit: ({ attributes, setAttributes } ) => {
const { selected, postTypes } = attributes;
return (
<div>
@goiblas
goiblas / registerBlock.php
Last active April 4, 2020 11:56
Ejemplo de registrar un bloque del editor de WordPress
<?php
function block_list_post_type_register_block() {
wp_register_script(
'block_list_post_type_scripts',
plugins_url( 'build/index.js', __FILE__ ),
array("wp-blocks","wp-components","wp-data","wp-element","wp-polyfill"),
filemtime( plugin_dir_path( __FILE__ ) . 'build/index.js')
);
$args = array(
@goiblas
goiblas / frontity.settings.js
Last active October 19, 2019 18:39
Frontity settings utilizando el api de WordPress.com
//...
"name": "@frontity/wp-source",
"state": {
"source": {
"api": "https://public-api.wordpress.com/wp/v2/sites/goiblas.wordpress.com"
}
}
//...
@goiblas
goiblas / now.json
Created October 19, 2019 18:26
Archivo de configuración de now.sh para publicar un blog con frontity
{
"alias": "blog-name",
"version": 2,
"builds": [
{
"src": "package.json",
"use": "@frontity/now"
}
]
}
@goiblas
goiblas / comments.js
Created October 19, 2019 18:17
Componente de comentarios con Disqus para Frontity
import React from "react";
import { connect } from "frontity";
import Disqus from 'disqus-react';
const Comments = ({ state }) => {
const data = state.source.get(state.router.link);
const post = state.source[data.type][data.id];
const disqusShortname = “blog-name”;
@goiblas
goiblas / toggle.js
Created October 19, 2019 18:07
Componente que permite cambiar el modo del theme de Frontity
import React from "react";
import { connect, styled } from "frontity";
const Toggle = ({ actions, state }) => {
const { setLightMode, setDarkMode } = actions.theme;
const { mode } = state.theme;
return (
<Container>
<ButtonsStyled isSelected={ mode === 'light' } onClick={ setLightMode }>Light</ButtonsStyled>
<ButtonsStyled isSelected={ mode === 'dark' } onClick={ setDarkMode }>Dark</ButtonsStyled>
@goiblas
goiblas / toggle.js
Last active October 19, 2019 18:06
Parte de un componente que permite cambiar el modo del theme de Frontity
//...
const Toggle = ({ actions }) => {
const { setLightMode, setDarkMode } = actions.theme;
return (
<div>
<button onClick={ setLightMode }>Light</button>
<button onClick={ setDarkMode }>Dark</button>
</div>
)
@goiblas
goiblas / packages_mars-theme_src_components_index.js
Created October 19, 2019 17:55
Ejemplo aplicar estilos dependiendo del mode del theme de Frontity
const Theme = ({ state }) => {
const data = state.source.get(state.router.link);
const { mode } = state.theme;
return (
<>
<Head>
<title>{state.frontity.title}</title>
<meta name="description" content={state.frontity.description} />
<html lang="en" />