TRADITIONAL | HEADLESS |
---|---|
WP_DEBUG_DISPLAY |
👉 Enable WPGraphQL Debug Mode & inspect response errors |
die() / wp_die() / var_dump() |
👉 wp_send_json() or Enable GraphQL Debug Mode and use graphql_debug() |
Postman/REST client | 👉 Enable GraphiQL IDE |
WP_DEBUG_LOG |
👉 Still works! |
Xdebug on page load | 👉 Xdebug triggered by GraphiQL request in the wp-admin |
Query Monitor | 👉 Enable GraphQL Query Logs |
NewRelic/Profiling tools | 👉 Enable GraphQL Tracing |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { gql, useLazyQuery } from "@apollo/client"; | |
import Layout from "../components/Layout"; | |
interface Post { | |
databaseId: number; | |
title: string; | |
}; | |
interface PostEdge { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Dynamically import an NPM module from dev.jspm.io to try it out. | |
// Run this in your browser console. | |
(async function() { | |
const axios = (await import('https://dev.jspm.io/axios')).default; | |
const response = await axios.get('https://pokeapi.co/api/v2/pokemon/'); | |
console.log(response.data); | |
})(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React, { Suspense } from "react" | |
import hasMounted from "../hooks/useHasMounted" | |
const SomeNpmPackage = React.lazy(() => import("some-npm-package")) | |
function LazyLoadedComponent() { | |
if (!hasMounted) return null | |
return ( | |
<Suspense fallback={<p>Loading...</p>}> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React, { Suspense } from "react" | |
import hasMounted from "../hooks/useHasMounted" | |
const PWAPrompt = React.lazy(() => import("react-ios-pwa-prompt")) | |
function PWAInstallPrompt() { | |
if (!hasMounted) return null | |
const isMobileChrome = navigator.userAgent.includes("CriOS") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React, { createContext, useContext } from "react" | |
import useSound from "use-sound" | |
import popDownSound from "../sounds/pop-down.mp3" | |
import marioCoinSound from "../sounds/mario-coin.mp3" | |
import applauseSound from "../sounds/applause.mp3" | |
import fanfareSound from "../sounds/fanfare.mp3" | |
const SoundsContext = createContext() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function Greeting() { | |
const hasMounted = useHasMounted(); | |
const username = hasMounted ? localStorage.getItem("username") : null; | |
return <p>Welcome back {username}!</p>; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React, { useState, useEffect } from "react" | |
/** | |
* @return {boolean} Whether the component has mounted. | |
*/ | |
function useHasMounted() { | |
const [hasMounted, setHasMounted] = useState(false) | |
useEffect(() => { | |
setHasMounted(true) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Plugin Name: Remove CPT Slug from Permalinks | |
* Description: Remove Custom Post Type Slug from Permalinks | |
* Version: 0.1.0 | |
* Author: Kellen Mace | |
* Author URI: https://kellenmace.com/ | |
* License: GPLv2 or later | |
* License URI: http://www.gnu.org/licenses/gpl-2.0.html | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* @param int $user_id User ID. | |
* | |
* @return bool Whether the user exists. | |
*/ | |
function does_user_exist( int $user_id ) : bool { | |
return (bool) get_users( [ 'include' => $user_id, 'fields' => 'ID' ] ); | |
} |